webgl_constants.odin 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420
  1. package webgl
  2. /* ClearBufferMask */
  3. DEPTH_BUFFER_BIT :: Enum(0x00000100)
  4. STENCIL_BUFFER_BIT :: Enum(0x00000400)
  5. COLOR_BUFFER_BIT :: Enum(0x00004000)
  6. /* BeginMode */
  7. POINTS :: Enum(0x0000)
  8. LINES :: Enum(0x0001)
  9. LINE_LOOP :: Enum(0x0002)
  10. LINE_STRIP :: Enum(0x0003)
  11. TRIANGLES :: Enum(0x0004)
  12. TRIANGLE_STRIP :: Enum(0x0005)
  13. TRIANGLE_FAN :: Enum(0x0006)
  14. /* AlphaFunction (not supported in ES20) */
  15. /* NEVER */
  16. /* LESS */
  17. /* EQUAL */
  18. /* LEQUAL */
  19. /* GREATER */
  20. /* NOTEQUAL */
  21. /* GEQUAL */
  22. /* ALWAYS */
  23. /* BlendingFactorDest */
  24. ZERO :: Enum(0)
  25. ONE :: Enum(1)
  26. SRC_COLOR :: Enum(0x0300)
  27. ONE_MINUS_SRC_COLOR :: Enum(0x0301)
  28. SRC_ALPHA :: Enum(0x0302)
  29. ONE_MINUS_SRC_ALPHA :: Enum(0x0303)
  30. DST_ALPHA :: Enum(0x0304)
  31. ONE_MINUS_DST_ALPHA :: Enum(0x0305)
  32. /* BlendingFactorSrc */
  33. /* ZERO */
  34. /* ONE */
  35. DST_COLOR :: Enum(0x0306)
  36. ONE_MINUS_DST_COLOR :: Enum(0x0307)
  37. SRC_ALPHA_SATURATE :: Enum(0x0308)
  38. /* SRC_ALPHA */
  39. /* ONE_MINUS_SRC_ALPHA */
  40. /* DST_ALPHA */
  41. /* ONE_MINUS_DST_ALPHA */
  42. /* BlendEquationSeparate */
  43. FUNC_ADD :: Enum(0x8006)
  44. BLEND_EQUATION :: Enum(0x8009)
  45. BLEND_EQUATION_RGB :: Enum(0x8009 /* same as BLEND_EQUATION */)
  46. BLEND_EQUATION_ALPHA :: Enum(0x883D)
  47. /* BlendSubtract */
  48. FUNC_SUBTRACT :: Enum(0x800A)
  49. FUNC_REVERSE_SUBTRACT :: Enum(0x800B)
  50. /* Separate Blend Functions */
  51. BLEND_DST_RGB :: Enum(0x80C8)
  52. BLEND_SRC_RGB :: Enum(0x80C9)
  53. BLEND_DST_ALPHA :: Enum(0x80CA)
  54. BLEND_SRC_ALPHA :: Enum(0x80CB)
  55. CONSTANT_COLOR :: Enum(0x8001)
  56. ONE_MINUS_CONSTANT_COLOR :: Enum(0x8002)
  57. CONSTANT_ALPHA :: Enum(0x8003)
  58. ONE_MINUS_CONSTANT_ALPHA :: Enum(0x8004)
  59. BLEND_COLOR :: Enum(0x8005)
  60. /* Buffer Objects */
  61. ARRAY_BUFFER :: Enum(0x8892)
  62. ELEMENT_ARRAY_BUFFER :: Enum(0x8893)
  63. ARRAY_BUFFER_BINDING :: Enum(0x8894)
  64. ELEMENT_ARRAY_BUFFER_BINDING :: Enum(0x8895)
  65. STREAM_DRAW :: Enum(0x88E0)
  66. STATIC_DRAW :: Enum(0x88E4)
  67. DYNAMIC_DRAW :: Enum(0x88E8)
  68. BUFFER_SIZE :: Enum(0x8764)
  69. BUFFER_USAGE :: Enum(0x8765)
  70. CURRENT_VERTEX_ATTRIB :: Enum(0x8626)
  71. /* CullFaceMode */
  72. FRONT :: Enum(0x0404)
  73. BACK :: Enum(0x0405)
  74. FRONT_AND_BACK :: Enum(0x0408)
  75. /* DepthFunction */
  76. /* NEVER */
  77. /* LESS */
  78. /* EQUAL */
  79. /* LEQUAL */
  80. /* GREATER */
  81. /* NOTEQUAL */
  82. /* GEQUAL */
  83. /* ALWAYS */
  84. /* EnableCap */
  85. /* TEXTURE_2D */
  86. CULL_FACE :: Enum(0x0B44)
  87. BLEND :: Enum(0x0BE2)
  88. DITHER :: Enum(0x0BD0)
  89. STENCIL_TEST :: Enum(0x0B90)
  90. DEPTH_TEST :: Enum(0x0B71)
  91. SCISSOR_TEST :: Enum(0x0C11)
  92. POLYGON_OFFSET_FILL :: Enum(0x8037)
  93. SAMPLE_ALPHA_TO_COVERAGE :: Enum(0x809E)
  94. SAMPLE_COVERAGE :: Enum(0x80A0)
  95. /* ErrorCode */
  96. NO_ERROR :: Enum(0)
  97. INVALID_ENUM :: Enum(0x0500)
  98. INVALID_VALUE :: Enum(0x0501)
  99. INVALID_OPERATION :: Enum(0x0502)
  100. OUT_OF_MEMORY :: Enum(0x0505)
  101. /* FrontFaceDirection */
  102. CW :: Enum(0x0900)
  103. CCW :: Enum(0x0901)
  104. /* GetPName */
  105. LINE_WIDTH :: Enum(0x0B21)
  106. ALIASED_POINT_SIZE_RANGE :: Enum(0x846D)
  107. ALIASED_LINE_WIDTH_RANGE :: Enum(0x846E)
  108. CULL_FACE_MODE :: Enum(0x0B45)
  109. FRONT_FACE :: Enum(0x0B46)
  110. DEPTH_RANGE :: Enum(0x0B70)
  111. DEPTH_WRITEMASK :: Enum(0x0B72)
  112. DEPTH_CLEAR_VALUE :: Enum(0x0B73)
  113. DEPTH_FUNC :: Enum(0x0B74)
  114. STENCIL_CLEAR_VALUE :: Enum(0x0B91)
  115. STENCIL_FUNC :: Enum(0x0B92)
  116. STENCIL_FAIL :: Enum(0x0B94)
  117. STENCIL_PASS_DEPTH_FAIL :: Enum(0x0B95)
  118. STENCIL_PASS_DEPTH_PASS :: Enum(0x0B96)
  119. STENCIL_REF :: Enum(0x0B97)
  120. STENCIL_VALUE_MASK :: Enum(0x0B93)
  121. STENCIL_WRITEMASK :: Enum(0x0B98)
  122. STENCIL_BACK_FUNC :: Enum(0x8800)
  123. STENCIL_BACK_FAIL :: Enum(0x8801)
  124. STENCIL_BACK_PASS_DEPTH_FAIL :: Enum(0x8802)
  125. STENCIL_BACK_PASS_DEPTH_PASS :: Enum(0x8803)
  126. STENCIL_BACK_REF :: Enum(0x8CA3)
  127. STENCIL_BACK_VALUE_MASK :: Enum(0x8CA4)
  128. STENCIL_BACK_WRITEMASK :: Enum(0x8CA5)
  129. VIEWPORT :: Enum(0x0BA2)
  130. SCISSOR_BOX :: Enum(0x0C10)
  131. /* SCISSOR_TEST */
  132. COLOR_CLEAR_VALUE :: Enum(0x0C22)
  133. COLOR_WRITEMASK :: Enum(0x0C23)
  134. UNPACK_ALIGNMENT :: Enum(0x0CF5)
  135. PACK_ALIGNMENT :: Enum(0x0D05)
  136. MAX_TEXTURE_SIZE :: Enum(0x0D33)
  137. MAX_VIEWPORT_DIMS :: Enum(0x0D3A)
  138. SUBPIXEL_BITS :: Enum(0x0D50)
  139. RED_BITS :: Enum(0x0D52)
  140. GREEN_BITS :: Enum(0x0D53)
  141. BLUE_BITS :: Enum(0x0D54)
  142. ALPHA_BITS :: Enum(0x0D55)
  143. DEPTH_BITS :: Enum(0x0D56)
  144. STENCIL_BITS :: Enum(0x0D57)
  145. POLYGON_OFFSET_UNITS :: Enum(0x2A00)
  146. /* POLYGON_OFFSET_FILL */
  147. POLYGON_OFFSET_FACTOR :: Enum(0x8038)
  148. TEXTURE_BINDING_2D :: Enum(0x8069)
  149. SAMPLE_BUFFERS :: Enum(0x80A8)
  150. SAMPLES :: Enum(0x80A9)
  151. SAMPLE_COVERAGE_VALUE :: Enum(0x80AA)
  152. SAMPLE_COVERAGE_INVERT :: Enum(0x80AB)
  153. /* GetTextureParameter */
  154. /* TEXTURE_MAG_FILTER */
  155. /* TEXTURE_MIN_FILTER */
  156. /* TEXTURE_WRAP_S */
  157. /* TEXTURE_WRAP_T */
  158. COMPRESSED_TEXTURE_FORMATS :: Enum(0x86A3)
  159. /* HintMode */
  160. DONT_CARE :: Enum(0x1100)
  161. FASTEST :: Enum(0x1101)
  162. NICEST :: Enum(0x1102)
  163. /* HintTarget */
  164. GENERATE_MIPMAP_HINT :: Enum(0x8192)
  165. /* DataType */
  166. BYTE :: Enum(0x1400)
  167. UNSIGNED_BYTE :: Enum(0x1401)
  168. SHORT :: Enum(0x1402)
  169. UNSIGNED_SHORT :: Enum(0x1403)
  170. INT :: Enum(0x1404)
  171. UNSIGNED_INT :: Enum(0x1405)
  172. FLOAT :: Enum(0x1406)
  173. /* PixelFormat */
  174. DEPTH_COMPONENT :: Enum(0x1902)
  175. ALPHA :: Enum(0x1906)
  176. RGB :: Enum(0x1907)
  177. RGBA :: Enum(0x1908)
  178. LUMINANCE :: Enum(0x1909)
  179. LUMINANCE_ALPHA :: Enum(0x190A)
  180. /* PixelType */
  181. /* UNSIGNED_BYTE */
  182. UNSIGNED_SHORT_4_4_4_4 :: Enum(0x8033)
  183. UNSIGNED_SHORT_5_5_5_1 :: Enum(0x8034)
  184. UNSIGNED_SHORT_5_6_5 :: Enum(0x8363)
  185. /* Shaders */
  186. FRAGMENT_SHADER :: Enum(0x8B30)
  187. VERTEX_SHADER :: Enum(0x8B31)
  188. MAX_VERTEX_ATTRIBS :: Enum(0x8869)
  189. MAX_VERTEX_UNIFORM_VECTORS :: Enum(0x8DFB)
  190. MAX_VARYING_VECTORS :: Enum(0x8DFC)
  191. MAX_COMBINED_TEXTURE_IMAGE_UNITS :: Enum(0x8B4D)
  192. MAX_VERTEX_TEXTURE_IMAGE_UNITS :: Enum(0x8B4C)
  193. MAX_TEXTURE_IMAGE_UNITS :: Enum(0x8872)
  194. MAX_FRAGMENT_UNIFORM_VECTORS :: Enum(0x8DFD)
  195. SHADER_TYPE :: Enum(0x8B4F)
  196. DELETE_STATUS :: Enum(0x8B80)
  197. LINK_STATUS :: Enum(0x8B82)
  198. VALIDATE_STATUS :: Enum(0x8B83)
  199. ATTACHED_SHADERS :: Enum(0x8B85)
  200. ACTIVE_UNIFORMS :: Enum(0x8B86)
  201. ACTIVE_ATTRIBUTES :: Enum(0x8B89)
  202. SHADING_LANGUAGE_VERSION :: Enum(0x8B8C)
  203. CURRENT_PROGRAM :: Enum(0x8B8D)
  204. /* StencilFunction */
  205. NEVER :: Enum(0x0200)
  206. LESS :: Enum(0x0201)
  207. EQUAL :: Enum(0x0202)
  208. LEQUAL :: Enum(0x0203)
  209. GREATER :: Enum(0x0204)
  210. NOTEQUAL :: Enum(0x0205)
  211. GEQUAL :: Enum(0x0206)
  212. ALWAYS :: Enum(0x0207)
  213. /* StencilOp */
  214. /* ZERO */
  215. KEEP :: Enum(0x1E00)
  216. REPLACE :: Enum(0x1E01)
  217. INCR :: Enum(0x1E02)
  218. DECR :: Enum(0x1E03)
  219. INVERT :: Enum(0x150A)
  220. INCR_WRAP :: Enum(0x8507)
  221. DECR_WRAP :: Enum(0x8508)
  222. /* StringName */
  223. VENDOR :: Enum(0x1F00)
  224. RENDERER :: Enum(0x1F01)
  225. VERSION :: Enum(0x1F02)
  226. /* TextureMagFilter */
  227. NEAREST :: Enum(0x2600)
  228. LINEAR :: Enum(0x2601)
  229. /* TextureMinFilter */
  230. /* NEAREST */
  231. /* LINEAR */
  232. NEAREST_MIPMAP_NEAREST :: Enum(0x2700)
  233. LINEAR_MIPMAP_NEAREST :: Enum(0x2701)
  234. NEAREST_MIPMAP_LINEAR :: Enum(0x2702)
  235. LINEAR_MIPMAP_LINEAR :: Enum(0x2703)
  236. /* TextureParameterName */
  237. TEXTURE_MAG_FILTER :: Enum(0x2800)
  238. TEXTURE_MIN_FILTER :: Enum(0x2801)
  239. TEXTURE_WRAP_S :: Enum(0x2802)
  240. TEXTURE_WRAP_T :: Enum(0x2803)
  241. /* TextureTarget */
  242. TEXTURE_2D :: Enum(0x0DE1)
  243. TEXTURE :: Enum(0x1702)
  244. TEXTURE_CUBE_MAP :: Enum(0x8513)
  245. TEXTURE_BINDING_CUBE_MAP :: Enum(0x8514)
  246. TEXTURE_CUBE_MAP_POSITIVE_X :: Enum(0x8515)
  247. TEXTURE_CUBE_MAP_NEGATIVE_X :: Enum(0x8516)
  248. TEXTURE_CUBE_MAP_POSITIVE_Y :: Enum(0x8517)
  249. TEXTURE_CUBE_MAP_NEGATIVE_Y :: Enum(0x8518)
  250. TEXTURE_CUBE_MAP_POSITIVE_Z :: Enum(0x8519)
  251. TEXTURE_CUBE_MAP_NEGATIVE_Z :: Enum(0x851A)
  252. MAX_CUBE_MAP_TEXTURE_SIZE :: Enum(0x851C)
  253. /* TextureUnit */
  254. TEXTURE0 :: Enum(0x84C0)
  255. TEXTURE1 :: Enum(0x84C1)
  256. TEXTURE2 :: Enum(0x84C2)
  257. TEXTURE3 :: Enum(0x84C3)
  258. TEXTURE4 :: Enum(0x84C4)
  259. TEXTURE5 :: Enum(0x84C5)
  260. TEXTURE6 :: Enum(0x84C6)
  261. TEXTURE7 :: Enum(0x84C7)
  262. TEXTURE8 :: Enum(0x84C8)
  263. TEXTURE9 :: Enum(0x84C9)
  264. TEXTURE10 :: Enum(0x84CA)
  265. TEXTURE11 :: Enum(0x84CB)
  266. TEXTURE12 :: Enum(0x84CC)
  267. TEXTURE13 :: Enum(0x84CD)
  268. TEXTURE14 :: Enum(0x84CE)
  269. TEXTURE15 :: Enum(0x84CF)
  270. TEXTURE16 :: Enum(0x84D0)
  271. TEXTURE17 :: Enum(0x84D1)
  272. TEXTURE18 :: Enum(0x84D2)
  273. TEXTURE19 :: Enum(0x84D3)
  274. TEXTURE20 :: Enum(0x84D4)
  275. TEXTURE21 :: Enum(0x84D5)
  276. TEXTURE22 :: Enum(0x84D6)
  277. TEXTURE23 :: Enum(0x84D7)
  278. TEXTURE24 :: Enum(0x84D8)
  279. TEXTURE25 :: Enum(0x84D9)
  280. TEXTURE26 :: Enum(0x84DA)
  281. TEXTURE27 :: Enum(0x84DB)
  282. TEXTURE28 :: Enum(0x84DC)
  283. TEXTURE29 :: Enum(0x84DD)
  284. TEXTURE30 :: Enum(0x84DE)
  285. TEXTURE31 :: Enum(0x84DF)
  286. ACTIVE_TEXTURE :: Enum(0x84E0)
  287. /* TextureWrapMode */
  288. REPEAT :: Enum(0x2901)
  289. CLAMP_TO_EDGE :: Enum(0x812F)
  290. MIRRORED_REPEAT :: Enum(0x8370)
  291. /* Uniform Types */
  292. FLOAT_VEC2 :: Enum(0x8B50)
  293. FLOAT_VEC3 :: Enum(0x8B51)
  294. FLOAT_VEC4 :: Enum(0x8B52)
  295. INT_VEC2 :: Enum(0x8B53)
  296. INT_VEC3 :: Enum(0x8B54)
  297. INT_VEC4 :: Enum(0x8B55)
  298. BOOL :: Enum(0x8B56)
  299. BOOL_VEC2 :: Enum(0x8B57)
  300. BOOL_VEC3 :: Enum(0x8B58)
  301. BOOL_VEC4 :: Enum(0x8B59)
  302. FLOAT_MAT2 :: Enum(0x8B5A)
  303. FLOAT_MAT3 :: Enum(0x8B5B)
  304. FLOAT_MAT4 :: Enum(0x8B5C)
  305. SAMPLER_2D :: Enum(0x8B5E)
  306. SAMPLER_CUBE :: Enum(0x8B60)
  307. /* Vertex Arrays */
  308. VERTEX_ATTRIB_ARRAY_ENABLED :: Enum(0x8622)
  309. VERTEX_ATTRIB_ARRAY_SIZE :: Enum(0x8623)
  310. VERTEX_ATTRIB_ARRAY_STRIDE :: Enum(0x8624)
  311. VERTEX_ATTRIB_ARRAY_TYPE :: Enum(0x8625)
  312. VERTEX_ATTRIB_ARRAY_NORMALIZED :: Enum(0x886A)
  313. VERTEX_ATTRIB_ARRAY_POINTER :: Enum(0x8645)
  314. VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: Enum(0x889F)
  315. /* Read Format */
  316. IMPLEMENTATION_COLOR_READ_TYPE :: Enum(0x8B9A)
  317. IMPLEMENTATION_COLOR_READ_FORMAT :: Enum(0x8B9B)
  318. /* Shader Source */
  319. COMPILE_STATUS :: Enum(0x8B81)
  320. /* Shader Precision-Specified Types */
  321. LOW_FLOAT :: Enum(0x8DF0)
  322. MEDIUM_FLOAT :: Enum(0x8DF1)
  323. HIGH_FLOAT :: Enum(0x8DF2)
  324. LOW_INT :: Enum(0x8DF3)
  325. MEDIUM_INT :: Enum(0x8DF4)
  326. HIGH_INT :: Enum(0x8DF5)
  327. /* Framebuffer Object. */
  328. FRAMEBUFFER :: Enum(0x8D40)
  329. RENDERBUFFER :: Enum(0x8D41)
  330. RGBA4 :: Enum(0x8056)
  331. RGB5_A1 :: Enum(0x8057)
  332. RGB565 :: Enum(0x8D62)
  333. DEPTH_COMPONENT16 :: Enum(0x81A5)
  334. STENCIL_INDEX :: Enum(0x1901)
  335. STENCIL_INDEX8 :: Enum(0x8D48)
  336. DEPTH_STENCIL :: Enum(0x84F9)
  337. RENDERBUFFER_WIDTH :: Enum(0x8D42)
  338. RENDERBUFFER_HEIGHT :: Enum(0x8D43)
  339. RENDERBUFFER_INTERNAL_FORMAT :: Enum(0x8D44)
  340. RENDERBUFFER_RED_SIZE :: Enum(0x8D50)
  341. RENDERBUFFER_GREEN_SIZE :: Enum(0x8D51)
  342. RENDERBUFFER_BLUE_SIZE :: Enum(0x8D52)
  343. RENDERBUFFER_ALPHA_SIZE :: Enum(0x8D53)
  344. RENDERBUFFER_DEPTH_SIZE :: Enum(0x8D54)
  345. RENDERBUFFER_STENCIL_SIZE :: Enum(0x8D55)
  346. FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: Enum(0x8CD0)
  347. FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: Enum(0x8CD1)
  348. FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: Enum(0x8CD2)
  349. FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: Enum(0x8CD3)
  350. COLOR_ATTACHMENT0 :: Enum(0x8CE0)
  351. DEPTH_ATTACHMENT :: Enum(0x8D00)
  352. STENCIL_ATTACHMENT :: Enum(0x8D20)
  353. DEPTH_STENCIL_ATTACHMENT :: Enum(0x821A)
  354. NONE :: Enum(0)
  355. FRAMEBUFFER_COMPLETE :: Enum(0x8CD5)
  356. FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: Enum(0x8CD6)
  357. FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: Enum(0x8CD7)
  358. FRAMEBUFFER_INCOMPLETE_DIMENSIONS :: Enum(0x8CD9)
  359. FRAMEBUFFER_UNSUPPORTED :: Enum(0x8CDD)
  360. FRAMEBUFFER_BINDING :: Enum(0x8CA6)
  361. RENDERBUFFER_BINDING :: Enum(0x8CA7)
  362. MAX_RENDERBUFFER_SIZE :: Enum(0x84E8)
  363. INVALID_FRAMEBUFFER_OPERATION :: Enum(0x0506)
  364. /* WebGL-specific enums */
  365. UNPACK_FLIP_Y_WEBGL :: Enum(0x9240)
  366. UNPACK_PREMULTIPLY_ALPHA_WEBGL :: Enum(0x9241)
  367. CONTEXT_LOST_WEBGL :: Enum(0x9242)
  368. UNPACK_COLORSPACE_CONVERSION_WEBGL :: Enum(0x9243)
  369. BROWSER_DEFAULT_WEBGL :: Enum(0x9244)