1 /*---------------------------------------------------------------------------* 2 3 Copyright (C) 2010-2011 Nintendo. All rights reserved. 4 5 These coded instructions, statements, and computer programs contain 6 proprietary information of Nintendo of America Inc. and/or Nintendo 7 Company Ltd., and are protected by Federal copyright law. They may 8 not be disclosed to third parties or copied or duplicated in any form, 9 in whole or in part, without the prior written consent of Nintendo. 10 11 *---------------------------------------------------------------------------*/ 12 13 // gx2Tessellation.h 14 // 15 // Declares gx2Tessellation-related functions for gx2 library. 16 17 #ifndef _CAFE_GX2_TESSELLATION_H_ 18 #define _CAFE_GX2_TESSELLATION_H_ 19 20 #ifdef __cplusplus 21 extern "C" 22 { 23 #endif // __cplusplus 24 25 /// @addtogroup GX2TessellationGroup 26 /// @{ 27 28 /// \brief Set tessellation engine controls. 29 /// This API only needs to be called if the tessellation mode, index fmt, or primitive type 30 /// changes. It does not need to be called for every draw call. 31 /// 32 /// \note indexFmt must be set to 32-bit for nonindex drawing and adaptive tessellation mode 33 /// 34 /// \param mode Tessellation mode 35 /// \param primType Type of primitive to draw 36 /// \param indexFmt Specifies whether indices are 16-bit or 32-bit 37 /// 38 /// \donotcall \gx2_typical \enddonotcall 39 /// 40 /// \writesgpu 41 /// \alwayswritesgpu 42 /// 43 void GX2API GX2SetTessellation(GX2TessellationMode mode, 44 GX2PrimitiveType primType, 45 GX2IndexFormat indexFmt); 46 47 /// \brief Sets the maximum tessellation level for adaptive tessellation and the tessellation level 48 /// for continuous and discrete tessellation. 49 /// 50 /// For adaptive tessellation mode, minLevel and maxlevel bound the amount 51 /// of tessellation performed. The actual amount will be between these 52 /// two parameters (inclusive). 53 /// 54 /// For discrete mode, values in the range (1.0, 14.0) are legal. 55 /// For non-discrete modes, values in the range (1.0, 15.0) are legal. 56 /// The minLevel <= maxLevel. 57 /// 58 /// \param maxLevel maximum tessellation level 59 /// 60 /// \donotcall \gx2_typical \enddonotcall 61 /// 62 /// \writesgpu 63 /// \alwayswritesgpu 64 /// 65 void GX2API GX2SetMaxTessellationLevel(f32 maxLevel); 66 67 /// \brief Sets the minimum tessellation level for adaptive tessellation 68 /// 69 /// This API is not used for continuous and discrete tessellation modes 70 /// 71 /// For adaptive tessellation mode, minLevel and maxlevel bound the amount 72 /// of tessellation performed. The actual amount will be between these 73 /// two parameters (inclusive). 74 /// 75 /// The min level values in the range (1.0, 15.0) are legal. 76 /// The minLevel <= maxLevel. 77 /// 78 /// \param minLevel minimum tessellation factor 79 /// 80 /// \donotcall \gx2_typical \enddonotcall 81 /// 82 /// \writesgpu 83 /// \alwayswritesgpu 84 /// 85 void GX2API GX2SetMinTessellationLevel(f32 minLevel); 86 87 /// @} 88 89 #ifdef __cplusplus 90 } 91 #endif // __cplusplus 92 93 #endif // _CAFE_GX2_TESSELLATION_H_ 94 95