GraphicsDefs.pkg 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. $#include "Graphics/GraphicsDefs.h"
  2. enum PrimitiveType
  3. {
  4. TRIANGLE_LIST = 0,
  5. LINE_LIST,
  6. POINT_LIST,
  7. TRIANGLE_STRIP,
  8. LINE_STRIP,
  9. TRIANGLE_FAN
  10. };
  11. enum GeometryType
  12. {
  13. GEOM_STATIC = 0,
  14. GEOM_SKINNED = 1,
  15. GEOM_INSTANCED = 2,
  16. GEOM_BILLBOARD = 3,
  17. GEOM_STATIC_NOINSTANCING = 4,
  18. MAX_GEOMETRYTYPES = 4,
  19. };
  20. enum BlendMode
  21. {
  22. BLEND_REPLACE = 0,
  23. BLEND_ADD,
  24. BLEND_MULTIPLY,
  25. BLEND_ALPHA,
  26. BLEND_ADDALPHA,
  27. BLEND_PREMULALPHA,
  28. BLEND_INVDESTALPHA,
  29. BLEND_SUBTRACT,
  30. BLEND_SUBTRACTALPHA,
  31. MAX_BLENDMODES
  32. };
  33. enum CompareMode
  34. {
  35. CMP_ALWAYS = 0,
  36. CMP_EQUAL,
  37. CMP_NOTEQUAL,
  38. CMP_LESS,
  39. CMP_LESSEQUAL,
  40. CMP_GREATER,
  41. CMP_GREATEREQUAL,
  42. MAX_COMPAREMODES
  43. };
  44. enum CullMode
  45. {
  46. CULL_NONE = 0,
  47. CULL_CCW,
  48. CULL_CW,
  49. MAX_CULLMODES
  50. };
  51. enum FillMode
  52. {
  53. FILL_SOLID = 0,
  54. FILL_WIREFRAME,
  55. FILL_POINT
  56. };
  57. enum StencilOp
  58. {
  59. OP_KEEP = 0,
  60. OP_ZERO,
  61. OP_REF,
  62. OP_INCR,
  63. OP_DECR
  64. };
  65. enum LockState
  66. {
  67. LOCK_NONE = 0,
  68. LOCK_HARDWARE,
  69. LOCK_SHADOW,
  70. LOCK_SCRATCH
  71. };
  72. enum VertexElement
  73. {
  74. ELEMENT_POSITION = 0,
  75. ELEMENT_NORMAL,
  76. ELEMENT_COLOR,
  77. ELEMENT_TEXCOORD1,
  78. ELEMENT_TEXCOORD2,
  79. ELEMENT_CUBETEXCOORD1,
  80. ELEMENT_CUBETEXCOORD2,
  81. ELEMENT_TANGENT,
  82. ELEMENT_BLENDWEIGHTS,
  83. ELEMENT_BLENDINDICES,
  84. ELEMENT_INSTANCEMATRIX1,
  85. ELEMENT_INSTANCEMATRIX2,
  86. ELEMENT_INSTANCEMATRIX3,
  87. ELEMENT_OBJECTINDEX,
  88. MAX_VERTEX_ELEMENTS
  89. };
  90. enum TextureFilterMode
  91. {
  92. FILTER_NEAREST = 0,
  93. FILTER_BILINEAR,
  94. FILTER_TRILINEAR,
  95. FILTER_ANISOTROPIC,
  96. FILTER_DEFAULT,
  97. MAX_FILTERMODES
  98. };
  99. enum TextureAddressMode
  100. {
  101. ADDRESS_WRAP = 0,
  102. ADDRESS_MIRROR,
  103. ADDRESS_CLAMP,
  104. ADDRESS_BORDER,
  105. MAX_ADDRESSMODES
  106. };
  107. enum TextureCoordinate
  108. {
  109. COORD_U = 0,
  110. COORD_V,
  111. COORD_W,
  112. MAX_COORDS
  113. };
  114. enum TextureUsage
  115. {
  116. TEXTURE_STATIC = 0,
  117. TEXTURE_DYNAMIC,
  118. TEXTURE_RENDERTARGET,
  119. TEXTURE_DEPTHSTENCIL
  120. };
  121. enum CubeMapFace
  122. {
  123. FACE_POSITIVE_X = 0,
  124. FACE_NEGATIVE_X,
  125. FACE_POSITIVE_Y,
  126. FACE_NEGATIVE_Y,
  127. FACE_POSITIVE_Z,
  128. FACE_NEGATIVE_Z,
  129. MAX_CUBEMAP_FACES
  130. };
  131. enum RenderSurfaceUpdateMode
  132. {
  133. SURFACE_MANUALUPDATE = 0,
  134. SURFACE_UPDATEVISIBLE,
  135. SURFACE_UPDATEALWAYS
  136. };
  137. enum ShaderType
  138. {
  139. VS = 0,
  140. PS,
  141. };
  142. // Texture unit numbering depends on graphics capability (mobile or desktop). Expose only the units we are sure of
  143. enum TextureUnit
  144. {
  145. TU_DIFFUSE = 0,
  146. TU_ALBEDOBUFFER = 0,
  147. TU_NORMAL = 1,
  148. TU_NORMALBUFFER = 1,
  149. TU_SPECULAR = 2,
  150. TU_EMISSIVE = 3,
  151. TU_ENVIRONMENT = 4,
  152. };
  153. enum FaceCameraMode
  154. {
  155. FC_NONE = 0,
  156. FC_ROTATE_XYZ,
  157. FC_ROTATE_Y,
  158. FC_LOOKAT_XYZ,
  159. FC_LOOKAT_Y,
  160. FC_DIRECTION
  161. };
  162. /// Shadow type
  163. enum ShadowQuality
  164. {
  165. SHADOWQUALITY_SIMPLE_16BIT = 0,
  166. SHADOWQUALITY_SIMPLE_24BIT,
  167. SHADOWQUALITY_PCF_16BIT,
  168. SHADOWQUALITY_PCF_24BIT,
  169. SHADOWQUALITY_VSM,
  170. SHADOWQUALITY_BLUR_VSM
  171. };
  172. static const int QUALITY_LOW;
  173. static const int QUALITY_MEDIUM;
  174. static const int QUALITY_HIGH;
  175. static const int QUALITY_MAX;
  176. static const unsigned CLEAR_COLOR;
  177. static const unsigned CLEAR_DEPTH;
  178. static const unsigned CLEAR_STENCIL;
  179. static const unsigned MASK_NONE;
  180. static const unsigned MASK_POSITION;
  181. static const unsigned MASK_NORMAL;
  182. static const unsigned MASK_COLOR;
  183. static const unsigned MASK_TEXCOORD1;
  184. static const unsigned MASK_TEXCOORD2;
  185. static const unsigned MASK_CUBETEXCOORD1;
  186. static const unsigned MASK_CUBETEXCOORD2;
  187. static const unsigned MASK_TANGENT;
  188. static const unsigned MASK_BLENDWEIGHTS;
  189. static const unsigned MASK_BLENDINDICES;
  190. static const unsigned MASK_INSTANCEMATRIX1;
  191. static const unsigned MASK_INSTANCEMATRIX2;
  192. static const unsigned MASK_INSTANCEMATRIX3;
  193. static const unsigned MASK_OBJECTINDEX;
  194. static const unsigned MASK_DEFAULT;