WebGLConstants.js 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614
  1. /**
  2. * Enum containing WebGL Constant values by name.
  3. * for use without an active WebGL context, or in cases where certain constants are unavailable using the WebGL context
  4. * (For example, in [Safari 9]{@link https://github.com/CesiumGS/cesium/issues/2989}).
  5. *
  6. * These match the constants from the [WebGL 1.0]{@link https://www.khronos.org/registry/webgl/specs/latest/1.0/}
  7. * and [WebGL 2.0]{@link https://www.khronos.org/registry/webgl/specs/latest/2.0/}
  8. * specifications.
  9. *
  10. * @enum {Number}
  11. */
  12. const WebGLConstants = {
  13. DEPTH_BUFFER_BIT: 0x00000100,
  14. STENCIL_BUFFER_BIT: 0x00000400,
  15. COLOR_BUFFER_BIT: 0x00004000,
  16. POINTS: 0x0000,
  17. LINES: 0x0001,
  18. LINE_LOOP: 0x0002,
  19. LINE_STRIP: 0x0003,
  20. TRIANGLES: 0x0004,
  21. TRIANGLE_STRIP: 0x0005,
  22. TRIANGLE_FAN: 0x0006,
  23. ZERO: 0,
  24. ONE: 1,
  25. SRC_COLOR: 0x0300,
  26. ONE_MINUS_SRC_COLOR: 0x0301,
  27. SRC_ALPHA: 0x0302,
  28. ONE_MINUS_SRC_ALPHA: 0x0303,
  29. DST_ALPHA: 0x0304,
  30. ONE_MINUS_DST_ALPHA: 0x0305,
  31. DST_COLOR: 0x0306,
  32. ONE_MINUS_DST_COLOR: 0x0307,
  33. SRC_ALPHA_SATURATE: 0x0308,
  34. FUNC_ADD: 0x8006,
  35. BLEND_EQUATION: 0x8009,
  36. BLEND_EQUATION_RGB: 0x8009, // same as BLEND_EQUATION
  37. BLEND_EQUATION_ALPHA: 0x883d,
  38. FUNC_SUBTRACT: 0x800a,
  39. FUNC_REVERSE_SUBTRACT: 0x800b,
  40. BLEND_DST_RGB: 0x80c8,
  41. BLEND_SRC_RGB: 0x80c9,
  42. BLEND_DST_ALPHA: 0x80ca,
  43. BLEND_SRC_ALPHA: 0x80cb,
  44. CONSTANT_COLOR: 0x8001,
  45. ONE_MINUS_CONSTANT_COLOR: 0x8002,
  46. CONSTANT_ALPHA: 0x8003,
  47. ONE_MINUS_CONSTANT_ALPHA: 0x8004,
  48. BLEND_COLOR: 0x8005,
  49. ARRAY_BUFFER: 0x8892,
  50. ELEMENT_ARRAY_BUFFER: 0x8893,
  51. ARRAY_BUFFER_BINDING: 0x8894,
  52. ELEMENT_ARRAY_BUFFER_BINDING: 0x8895,
  53. STREAM_DRAW: 0x88e0,
  54. STATIC_DRAW: 0x88e4,
  55. DYNAMIC_DRAW: 0x88e8,
  56. BUFFER_SIZE: 0x8764,
  57. BUFFER_USAGE: 0x8765,
  58. CURRENT_VERTEX_ATTRIB: 0x8626,
  59. FRONT: 0x0404,
  60. BACK: 0x0405,
  61. FRONT_AND_BACK: 0x0408,
  62. CULL_FACE: 0x0b44,
  63. BLEND: 0x0be2,
  64. DITHER: 0x0bd0,
  65. STENCIL_TEST: 0x0b90,
  66. DEPTH_TEST: 0x0b71,
  67. SCISSOR_TEST: 0x0c11,
  68. POLYGON_OFFSET_FILL: 0x8037,
  69. SAMPLE_ALPHA_TO_COVERAGE: 0x809e,
  70. SAMPLE_COVERAGE: 0x80a0,
  71. NO_ERROR: 0,
  72. INVALID_ENUM: 0x0500,
  73. INVALID_VALUE: 0x0501,
  74. INVALID_OPERATION: 0x0502,
  75. OUT_OF_MEMORY: 0x0505,
  76. CW: 0x0900,
  77. CCW: 0x0901,
  78. LINE_WIDTH: 0x0b21,
  79. ALIASED_POINT_SIZE_RANGE: 0x846d,
  80. ALIASED_LINE_WIDTH_RANGE: 0x846e,
  81. CULL_FACE_MODE: 0x0b45,
  82. FRONT_FACE: 0x0b46,
  83. DEPTH_RANGE: 0x0b70,
  84. DEPTH_WRITEMASK: 0x0b72,
  85. DEPTH_CLEAR_VALUE: 0x0b73,
  86. DEPTH_FUNC: 0x0b74,
  87. STENCIL_CLEAR_VALUE: 0x0b91,
  88. STENCIL_FUNC: 0x0b92,
  89. STENCIL_FAIL: 0x0b94,
  90. STENCIL_PASS_DEPTH_FAIL: 0x0b95,
  91. STENCIL_PASS_DEPTH_PASS: 0x0b96,
  92. STENCIL_REF: 0x0b97,
  93. STENCIL_VALUE_MASK: 0x0b93,
  94. STENCIL_WRITEMASK: 0x0b98,
  95. STENCIL_BACK_FUNC: 0x8800,
  96. STENCIL_BACK_FAIL: 0x8801,
  97. STENCIL_BACK_PASS_DEPTH_FAIL: 0x8802,
  98. STENCIL_BACK_PASS_DEPTH_PASS: 0x8803,
  99. STENCIL_BACK_REF: 0x8ca3,
  100. STENCIL_BACK_VALUE_MASK: 0x8ca4,
  101. STENCIL_BACK_WRITEMASK: 0x8ca5,
  102. VIEWPORT: 0x0ba2,
  103. SCISSOR_BOX: 0x0c10,
  104. COLOR_CLEAR_VALUE: 0x0c22,
  105. COLOR_WRITEMASK: 0x0c23,
  106. UNPACK_ALIGNMENT: 0x0cf5,
  107. PACK_ALIGNMENT: 0x0d05,
  108. MAX_TEXTURE_SIZE: 0x0d33,
  109. MAX_VIEWPORT_DIMS: 0x0d3a,
  110. SUBPIXEL_BITS: 0x0d50,
  111. RED_BITS: 0x0d52,
  112. GREEN_BITS: 0x0d53,
  113. BLUE_BITS: 0x0d54,
  114. ALPHA_BITS: 0x0d55,
  115. DEPTH_BITS: 0x0d56,
  116. STENCIL_BITS: 0x0d57,
  117. POLYGON_OFFSET_UNITS: 0x2a00,
  118. POLYGON_OFFSET_FACTOR: 0x8038,
  119. TEXTURE_BINDING_2D: 0x8069,
  120. SAMPLE_BUFFERS: 0x80a8,
  121. SAMPLES: 0x80a9,
  122. SAMPLE_COVERAGE_VALUE: 0x80aa,
  123. SAMPLE_COVERAGE_INVERT: 0x80ab,
  124. COMPRESSED_TEXTURE_FORMATS: 0x86a3,
  125. DONT_CARE: 0x1100,
  126. FASTEST: 0x1101,
  127. NICEST: 0x1102,
  128. GENERATE_MIPMAP_HINT: 0x8192,
  129. BYTE: 0x1400,
  130. UNSIGNED_BYTE: 0x1401,
  131. SHORT: 0x1402,
  132. UNSIGNED_SHORT: 0x1403,
  133. INT: 0x1404,
  134. UNSIGNED_INT: 0x1405,
  135. FLOAT: 0x1406,
  136. DEPTH_COMPONENT: 0x1902,
  137. ALPHA: 0x1906,
  138. RGB: 0x1907,
  139. RGBA: 0x1908,
  140. LUMINANCE: 0x1909,
  141. LUMINANCE_ALPHA: 0x190a,
  142. UNSIGNED_SHORT_4_4_4_4: 0x8033,
  143. UNSIGNED_SHORT_5_5_5_1: 0x8034,
  144. UNSIGNED_SHORT_5_6_5: 0x8363,
  145. FRAGMENT_SHADER: 0x8b30,
  146. VERTEX_SHADER: 0x8b31,
  147. MAX_VERTEX_ATTRIBS: 0x8869,
  148. MAX_VERTEX_UNIFORM_VECTORS: 0x8dfb,
  149. MAX_VARYING_VECTORS: 0x8dfc,
  150. MAX_COMBINED_TEXTURE_IMAGE_UNITS: 0x8b4d,
  151. MAX_VERTEX_TEXTURE_IMAGE_UNITS: 0x8b4c,
  152. MAX_TEXTURE_IMAGE_UNITS: 0x8872,
  153. MAX_FRAGMENT_UNIFORM_VECTORS: 0x8dfd,
  154. SHADER_TYPE: 0x8b4f,
  155. DELETE_STATUS: 0x8b80,
  156. LINK_STATUS: 0x8b82,
  157. VALIDATE_STATUS: 0x8b83,
  158. ATTACHED_SHADERS: 0x8b85,
  159. ACTIVE_UNIFORMS: 0x8b86,
  160. ACTIVE_ATTRIBUTES: 0x8b89,
  161. SHADING_LANGUAGE_VERSION: 0x8b8c,
  162. CURRENT_PROGRAM: 0x8b8d,
  163. NEVER: 0x0200,
  164. LESS: 0x0201,
  165. EQUAL: 0x0202,
  166. LEQUAL: 0x0203,
  167. GREATER: 0x0204,
  168. NOTEQUAL: 0x0205,
  169. GEQUAL: 0x0206,
  170. ALWAYS: 0x0207,
  171. KEEP: 0x1e00,
  172. REPLACE: 0x1e01,
  173. INCR: 0x1e02,
  174. DECR: 0x1e03,
  175. INVERT: 0x150a,
  176. INCR_WRAP: 0x8507,
  177. DECR_WRAP: 0x8508,
  178. VENDOR: 0x1f00,
  179. RENDERER: 0x1f01,
  180. VERSION: 0x1f02,
  181. NEAREST: 0x2600,
  182. LINEAR: 0x2601,
  183. NEAREST_MIPMAP_NEAREST: 0x2700,
  184. LINEAR_MIPMAP_NEAREST: 0x2701,
  185. NEAREST_MIPMAP_LINEAR: 0x2702,
  186. LINEAR_MIPMAP_LINEAR: 0x2703,
  187. TEXTURE_MAG_FILTER: 0x2800,
  188. TEXTURE_MIN_FILTER: 0x2801,
  189. TEXTURE_WRAP_S: 0x2802,
  190. TEXTURE_WRAP_T: 0x2803,
  191. TEXTURE_2D: 0x0de1,
  192. TEXTURE: 0x1702,
  193. TEXTURE_CUBE_MAP: 0x8513,
  194. TEXTURE_BINDING_CUBE_MAP: 0x8514,
  195. TEXTURE_CUBE_MAP_POSITIVE_X: 0x8515,
  196. TEXTURE_CUBE_MAP_NEGATIVE_X: 0x8516,
  197. TEXTURE_CUBE_MAP_POSITIVE_Y: 0x8517,
  198. TEXTURE_CUBE_MAP_NEGATIVE_Y: 0x8518,
  199. TEXTURE_CUBE_MAP_POSITIVE_Z: 0x8519,
  200. TEXTURE_CUBE_MAP_NEGATIVE_Z: 0x851a,
  201. MAX_CUBE_MAP_TEXTURE_SIZE: 0x851c,
  202. TEXTURE0: 0x84c0,
  203. TEXTURE1: 0x84c1,
  204. TEXTURE2: 0x84c2,
  205. TEXTURE3: 0x84c3,
  206. TEXTURE4: 0x84c4,
  207. TEXTURE5: 0x84c5,
  208. TEXTURE6: 0x84c6,
  209. TEXTURE7: 0x84c7,
  210. TEXTURE8: 0x84c8,
  211. TEXTURE9: 0x84c9,
  212. TEXTURE10: 0x84ca,
  213. TEXTURE11: 0x84cb,
  214. TEXTURE12: 0x84cc,
  215. TEXTURE13: 0x84cd,
  216. TEXTURE14: 0x84ce,
  217. TEXTURE15: 0x84cf,
  218. TEXTURE16: 0x84d0,
  219. TEXTURE17: 0x84d1,
  220. TEXTURE18: 0x84d2,
  221. TEXTURE19: 0x84d3,
  222. TEXTURE20: 0x84d4,
  223. TEXTURE21: 0x84d5,
  224. TEXTURE22: 0x84d6,
  225. TEXTURE23: 0x84d7,
  226. TEXTURE24: 0x84d8,
  227. TEXTURE25: 0x84d9,
  228. TEXTURE26: 0x84da,
  229. TEXTURE27: 0x84db,
  230. TEXTURE28: 0x84dc,
  231. TEXTURE29: 0x84dd,
  232. TEXTURE30: 0x84de,
  233. TEXTURE31: 0x84df,
  234. ACTIVE_TEXTURE: 0x84e0,
  235. REPEAT: 0x2901,
  236. CLAMP_TO_EDGE: 0x812f,
  237. MIRRORED_REPEAT: 0x8370,
  238. FLOAT_VEC2: 0x8b50,
  239. FLOAT_VEC3: 0x8b51,
  240. FLOAT_VEC4: 0x8b52,
  241. INT_VEC2: 0x8b53,
  242. INT_VEC3: 0x8b54,
  243. INT_VEC4: 0x8b55,
  244. BOOL: 0x8b56,
  245. BOOL_VEC2: 0x8b57,
  246. BOOL_VEC3: 0x8b58,
  247. BOOL_VEC4: 0x8b59,
  248. FLOAT_MAT2: 0x8b5a,
  249. FLOAT_MAT3: 0x8b5b,
  250. FLOAT_MAT4: 0x8b5c,
  251. SAMPLER_2D: 0x8b5e,
  252. SAMPLER_CUBE: 0x8b60,
  253. VERTEX_ATTRIB_ARRAY_ENABLED: 0x8622,
  254. VERTEX_ATTRIB_ARRAY_SIZE: 0x8623,
  255. VERTEX_ATTRIB_ARRAY_STRIDE: 0x8624,
  256. VERTEX_ATTRIB_ARRAY_TYPE: 0x8625,
  257. VERTEX_ATTRIB_ARRAY_NORMALIZED: 0x886a,
  258. VERTEX_ATTRIB_ARRAY_POINTER: 0x8645,
  259. VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 0x889f,
  260. IMPLEMENTATION_COLOR_READ_TYPE: 0x8b9a,
  261. IMPLEMENTATION_COLOR_READ_FORMAT: 0x8b9b,
  262. COMPILE_STATUS: 0x8b81,
  263. LOW_FLOAT: 0x8df0,
  264. MEDIUM_FLOAT: 0x8df1,
  265. HIGH_FLOAT: 0x8df2,
  266. LOW_INT: 0x8df3,
  267. MEDIUM_INT: 0x8df4,
  268. HIGH_INT: 0x8df5,
  269. FRAMEBUFFER: 0x8d40,
  270. RENDERBUFFER: 0x8d41,
  271. RGBA4: 0x8056,
  272. RGB5_A1: 0x8057,
  273. RGB565: 0x8d62,
  274. DEPTH_COMPONENT16: 0x81a5,
  275. STENCIL_INDEX: 0x1901,
  276. STENCIL_INDEX8: 0x8d48,
  277. DEPTH_STENCIL: 0x84f9,
  278. RENDERBUFFER_WIDTH: 0x8d42,
  279. RENDERBUFFER_HEIGHT: 0x8d43,
  280. RENDERBUFFER_INTERNAL_FORMAT: 0x8d44,
  281. RENDERBUFFER_RED_SIZE: 0x8d50,
  282. RENDERBUFFER_GREEN_SIZE: 0x8d51,
  283. RENDERBUFFER_BLUE_SIZE: 0x8d52,
  284. RENDERBUFFER_ALPHA_SIZE: 0x8d53,
  285. RENDERBUFFER_DEPTH_SIZE: 0x8d54,
  286. RENDERBUFFER_STENCIL_SIZE: 0x8d55,
  287. FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 0x8cd0,
  288. FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 0x8cd1,
  289. FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 0x8cd2,
  290. FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 0x8cd3,
  291. COLOR_ATTACHMENT0: 0x8ce0,
  292. DEPTH_ATTACHMENT: 0x8d00,
  293. STENCIL_ATTACHMENT: 0x8d20,
  294. DEPTH_STENCIL_ATTACHMENT: 0x821a,
  295. NONE: 0,
  296. FRAMEBUFFER_COMPLETE: 0x8cd5,
  297. FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 0x8cd6,
  298. FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 0x8cd7,
  299. FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 0x8cd9,
  300. FRAMEBUFFER_UNSUPPORTED: 0x8cdd,
  301. FRAMEBUFFER_BINDING: 0x8ca6,
  302. RENDERBUFFER_BINDING: 0x8ca7,
  303. MAX_RENDERBUFFER_SIZE: 0x84e8,
  304. INVALID_FRAMEBUFFER_OPERATION: 0x0506,
  305. UNPACK_FLIP_Y_WEBGL: 0x9240,
  306. UNPACK_PREMULTIPLY_ALPHA_WEBGL: 0x9241,
  307. CONTEXT_LOST_WEBGL: 0x9242,
  308. UNPACK_COLORSPACE_CONVERSION_WEBGL: 0x9243,
  309. BROWSER_DEFAULT_WEBGL: 0x9244,
  310. // WEBGL_compressed_texture_s3tc
  311. COMPRESSED_RGB_S3TC_DXT1_EXT: 0x83f0,
  312. COMPRESSED_RGBA_S3TC_DXT1_EXT: 0x83f1,
  313. COMPRESSED_RGBA_S3TC_DXT3_EXT: 0x83f2,
  314. COMPRESSED_RGBA_S3TC_DXT5_EXT: 0x83f3,
  315. // WEBGL_compressed_texture_pvrtc
  316. COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 0x8c00,
  317. COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 0x8c01,
  318. COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 0x8c02,
  319. COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 0x8c03,
  320. // WEBGL_compressed_texture_astc
  321. COMPRESSED_RGBA_ASTC_4x4_WEBGL: 0x93b0,
  322. // WEBGL_compressed_texture_etc1
  323. COMPRESSED_RGB_ETC1_WEBGL: 0x8d64,
  324. // EXT_texture_compression_bptc
  325. COMPRESSED_RGBA_BPTC_UNORM: 0x8e8c,
  326. // EXT_color_buffer_half_float
  327. HALF_FLOAT_OES: 0x8d61,
  328. // Desktop OpenGL
  329. DOUBLE: 0x140a,
  330. // WebGL 2
  331. READ_BUFFER: 0x0c02,
  332. UNPACK_ROW_LENGTH: 0x0cf2,
  333. UNPACK_SKIP_ROWS: 0x0cf3,
  334. UNPACK_SKIP_PIXELS: 0x0cf4,
  335. PACK_ROW_LENGTH: 0x0d02,
  336. PACK_SKIP_ROWS: 0x0d03,
  337. PACK_SKIP_PIXELS: 0x0d04,
  338. COLOR: 0x1800,
  339. DEPTH: 0x1801,
  340. STENCIL: 0x1802,
  341. RED: 0x1903,
  342. RGB8: 0x8051,
  343. RGBA8: 0x8058,
  344. RGB10_A2: 0x8059,
  345. TEXTURE_BINDING_3D: 0x806a,
  346. UNPACK_SKIP_IMAGES: 0x806d,
  347. UNPACK_IMAGE_HEIGHT: 0x806e,
  348. TEXTURE_3D: 0x806f,
  349. TEXTURE_WRAP_R: 0x8072,
  350. MAX_3D_TEXTURE_SIZE: 0x8073,
  351. UNSIGNED_INT_2_10_10_10_REV: 0x8368,
  352. MAX_ELEMENTS_VERTICES: 0x80e8,
  353. MAX_ELEMENTS_INDICES: 0x80e9,
  354. TEXTURE_MIN_LOD: 0x813a,
  355. TEXTURE_MAX_LOD: 0x813b,
  356. TEXTURE_BASE_LEVEL: 0x813c,
  357. TEXTURE_MAX_LEVEL: 0x813d,
  358. MIN: 0x8007,
  359. MAX: 0x8008,
  360. DEPTH_COMPONENT24: 0x81a6,
  361. MAX_TEXTURE_LOD_BIAS: 0x84fd,
  362. TEXTURE_COMPARE_MODE: 0x884c,
  363. TEXTURE_COMPARE_FUNC: 0x884d,
  364. CURRENT_QUERY: 0x8865,
  365. QUERY_RESULT: 0x8866,
  366. QUERY_RESULT_AVAILABLE: 0x8867,
  367. STREAM_READ: 0x88e1,
  368. STREAM_COPY: 0x88e2,
  369. STATIC_READ: 0x88e5,
  370. STATIC_COPY: 0x88e6,
  371. DYNAMIC_READ: 0x88e9,
  372. DYNAMIC_COPY: 0x88ea,
  373. MAX_DRAW_BUFFERS: 0x8824,
  374. DRAW_BUFFER0: 0x8825,
  375. DRAW_BUFFER1: 0x8826,
  376. DRAW_BUFFER2: 0x8827,
  377. DRAW_BUFFER3: 0x8828,
  378. DRAW_BUFFER4: 0x8829,
  379. DRAW_BUFFER5: 0x882a,
  380. DRAW_BUFFER6: 0x882b,
  381. DRAW_BUFFER7: 0x882c,
  382. DRAW_BUFFER8: 0x882d,
  383. DRAW_BUFFER9: 0x882e,
  384. DRAW_BUFFER10: 0x882f,
  385. DRAW_BUFFER11: 0x8830,
  386. DRAW_BUFFER12: 0x8831,
  387. DRAW_BUFFER13: 0x8832,
  388. DRAW_BUFFER14: 0x8833,
  389. DRAW_BUFFER15: 0x8834,
  390. MAX_FRAGMENT_UNIFORM_COMPONENTS: 0x8b49,
  391. MAX_VERTEX_UNIFORM_COMPONENTS: 0x8b4a,
  392. SAMPLER_3D: 0x8b5f,
  393. SAMPLER_2D_SHADOW: 0x8b62,
  394. FRAGMENT_SHADER_DERIVATIVE_HINT: 0x8b8b,
  395. PIXEL_PACK_BUFFER: 0x88eb,
  396. PIXEL_UNPACK_BUFFER: 0x88ec,
  397. PIXEL_PACK_BUFFER_BINDING: 0x88ed,
  398. PIXEL_UNPACK_BUFFER_BINDING: 0x88ef,
  399. FLOAT_MAT2x3: 0x8b65,
  400. FLOAT_MAT2x4: 0x8b66,
  401. FLOAT_MAT3x2: 0x8b67,
  402. FLOAT_MAT3x4: 0x8b68,
  403. FLOAT_MAT4x2: 0x8b69,
  404. FLOAT_MAT4x3: 0x8b6a,
  405. SRGB: 0x8c40,
  406. SRGB8: 0x8c41,
  407. SRGB8_ALPHA8: 0x8c43,
  408. COMPARE_REF_TO_TEXTURE: 0x884e,
  409. RGBA32F: 0x8814,
  410. RGB32F: 0x8815,
  411. RGBA16F: 0x881a,
  412. RGB16F: 0x881b,
  413. VERTEX_ATTRIB_ARRAY_INTEGER: 0x88fd,
  414. MAX_ARRAY_TEXTURE_LAYERS: 0x88ff,
  415. MIN_PROGRAM_TEXEL_OFFSET: 0x8904,
  416. MAX_PROGRAM_TEXEL_OFFSET: 0x8905,
  417. MAX_VARYING_COMPONENTS: 0x8b4b,
  418. TEXTURE_2D_ARRAY: 0x8c1a,
  419. TEXTURE_BINDING_2D_ARRAY: 0x8c1d,
  420. R11F_G11F_B10F: 0x8c3a,
  421. UNSIGNED_INT_10F_11F_11F_REV: 0x8c3b,
  422. RGB9_E5: 0x8c3d,
  423. UNSIGNED_INT_5_9_9_9_REV: 0x8c3e,
  424. TRANSFORM_FEEDBACK_BUFFER_MODE: 0x8c7f,
  425. MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: 0x8c80,
  426. TRANSFORM_FEEDBACK_VARYINGS: 0x8c83,
  427. TRANSFORM_FEEDBACK_BUFFER_START: 0x8c84,
  428. TRANSFORM_FEEDBACK_BUFFER_SIZE: 0x8c85,
  429. TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: 0x8c88,
  430. RASTERIZER_DISCARD: 0x8c89,
  431. MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: 0x8c8a,
  432. MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: 0x8c8b,
  433. INTERLEAVED_ATTRIBS: 0x8c8c,
  434. SEPARATE_ATTRIBS: 0x8c8d,
  435. TRANSFORM_FEEDBACK_BUFFER: 0x8c8e,
  436. TRANSFORM_FEEDBACK_BUFFER_BINDING: 0x8c8f,
  437. RGBA32UI: 0x8d70,
  438. RGB32UI: 0x8d71,
  439. RGBA16UI: 0x8d76,
  440. RGB16UI: 0x8d77,
  441. RGBA8UI: 0x8d7c,
  442. RGB8UI: 0x8d7d,
  443. RGBA32I: 0x8d82,
  444. RGB32I: 0x8d83,
  445. RGBA16I: 0x8d88,
  446. RGB16I: 0x8d89,
  447. RGBA8I: 0x8d8e,
  448. RGB8I: 0x8d8f,
  449. RED_INTEGER: 0x8d94,
  450. RGB_INTEGER: 0x8d98,
  451. RGBA_INTEGER: 0x8d99,
  452. SAMPLER_2D_ARRAY: 0x8dc1,
  453. SAMPLER_2D_ARRAY_SHADOW: 0x8dc4,
  454. SAMPLER_CUBE_SHADOW: 0x8dc5,
  455. UNSIGNED_INT_VEC2: 0x8dc6,
  456. UNSIGNED_INT_VEC3: 0x8dc7,
  457. UNSIGNED_INT_VEC4: 0x8dc8,
  458. INT_SAMPLER_2D: 0x8dca,
  459. INT_SAMPLER_3D: 0x8dcb,
  460. INT_SAMPLER_CUBE: 0x8dcc,
  461. INT_SAMPLER_2D_ARRAY: 0x8dcf,
  462. UNSIGNED_INT_SAMPLER_2D: 0x8dd2,
  463. UNSIGNED_INT_SAMPLER_3D: 0x8dd3,
  464. UNSIGNED_INT_SAMPLER_CUBE: 0x8dd4,
  465. UNSIGNED_INT_SAMPLER_2D_ARRAY: 0x8dd7,
  466. DEPTH_COMPONENT32F: 0x8cac,
  467. DEPTH32F_STENCIL8: 0x8cad,
  468. FLOAT_32_UNSIGNED_INT_24_8_REV: 0x8dad,
  469. FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: 0x8210,
  470. FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: 0x8211,
  471. FRAMEBUFFER_ATTACHMENT_RED_SIZE: 0x8212,
  472. FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: 0x8213,
  473. FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: 0x8214,
  474. FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: 0x8215,
  475. FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: 0x8216,
  476. FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: 0x8217,
  477. FRAMEBUFFER_DEFAULT: 0x8218,
  478. UNSIGNED_INT_24_8: 0x84fa,
  479. DEPTH24_STENCIL8: 0x88f0,
  480. UNSIGNED_NORMALIZED: 0x8c17,
  481. DRAW_FRAMEBUFFER_BINDING: 0x8ca6, // Same as FRAMEBUFFER_BINDING
  482. READ_FRAMEBUFFER: 0x8ca8,
  483. DRAW_FRAMEBUFFER: 0x8ca9,
  484. READ_FRAMEBUFFER_BINDING: 0x8caa,
  485. RENDERBUFFER_SAMPLES: 0x8cab,
  486. FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: 0x8cd4,
  487. MAX_COLOR_ATTACHMENTS: 0x8cdf,
  488. COLOR_ATTACHMENT1: 0x8ce1,
  489. COLOR_ATTACHMENT2: 0x8ce2,
  490. COLOR_ATTACHMENT3: 0x8ce3,
  491. COLOR_ATTACHMENT4: 0x8ce4,
  492. COLOR_ATTACHMENT5: 0x8ce5,
  493. COLOR_ATTACHMENT6: 0x8ce6,
  494. COLOR_ATTACHMENT7: 0x8ce7,
  495. COLOR_ATTACHMENT8: 0x8ce8,
  496. COLOR_ATTACHMENT9: 0x8ce9,
  497. COLOR_ATTACHMENT10: 0x8cea,
  498. COLOR_ATTACHMENT11: 0x8ceb,
  499. COLOR_ATTACHMENT12: 0x8cec,
  500. COLOR_ATTACHMENT13: 0x8ced,
  501. COLOR_ATTACHMENT14: 0x8cee,
  502. COLOR_ATTACHMENT15: 0x8cef,
  503. FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: 0x8d56,
  504. MAX_SAMPLES: 0x8d57,
  505. HALF_FLOAT: 0x140b,
  506. RG: 0x8227,
  507. RG_INTEGER: 0x8228,
  508. R8: 0x8229,
  509. RG8: 0x822b,
  510. R16F: 0x822d,
  511. R32F: 0x822e,
  512. RG16F: 0x822f,
  513. RG32F: 0x8230,
  514. R8I: 0x8231,
  515. R8UI: 0x8232,
  516. R16I: 0x8233,
  517. R16UI: 0x8234,
  518. R32I: 0x8235,
  519. R32UI: 0x8236,
  520. RG8I: 0x8237,
  521. RG8UI: 0x8238,
  522. RG16I: 0x8239,
  523. RG16UI: 0x823a,
  524. RG32I: 0x823b,
  525. RG32UI: 0x823c,
  526. VERTEX_ARRAY_BINDING: 0x85b5,
  527. R8_SNORM: 0x8f94,
  528. RG8_SNORM: 0x8f95,
  529. RGB8_SNORM: 0x8f96,
  530. RGBA8_SNORM: 0x8f97,
  531. SIGNED_NORMALIZED: 0x8f9c,
  532. COPY_READ_BUFFER: 0x8f36,
  533. COPY_WRITE_BUFFER: 0x8f37,
  534. COPY_READ_BUFFER_BINDING: 0x8f36, // Same as COPY_READ_BUFFER
  535. COPY_WRITE_BUFFER_BINDING: 0x8f37, // Same as COPY_WRITE_BUFFER
  536. UNIFORM_BUFFER: 0x8a11,
  537. UNIFORM_BUFFER_BINDING: 0x8a28,
  538. UNIFORM_BUFFER_START: 0x8a29,
  539. UNIFORM_BUFFER_SIZE: 0x8a2a,
  540. MAX_VERTEX_UNIFORM_BLOCKS: 0x8a2b,
  541. MAX_FRAGMENT_UNIFORM_BLOCKS: 0x8a2d,
  542. MAX_COMBINED_UNIFORM_BLOCKS: 0x8a2e,
  543. MAX_UNIFORM_BUFFER_BINDINGS: 0x8a2f,
  544. MAX_UNIFORM_BLOCK_SIZE: 0x8a30,
  545. MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: 0x8a31,
  546. MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: 0x8a33,
  547. UNIFORM_BUFFER_OFFSET_ALIGNMENT: 0x8a34,
  548. ACTIVE_UNIFORM_BLOCKS: 0x8a36,
  549. UNIFORM_TYPE: 0x8a37,
  550. UNIFORM_SIZE: 0x8a38,
  551. UNIFORM_BLOCK_INDEX: 0x8a3a,
  552. UNIFORM_OFFSET: 0x8a3b,
  553. UNIFORM_ARRAY_STRIDE: 0x8a3c,
  554. UNIFORM_MATRIX_STRIDE: 0x8a3d,
  555. UNIFORM_IS_ROW_MAJOR: 0x8a3e,
  556. UNIFORM_BLOCK_BINDING: 0x8a3f,
  557. UNIFORM_BLOCK_DATA_SIZE: 0x8a40,
  558. UNIFORM_BLOCK_ACTIVE_UNIFORMS: 0x8a42,
  559. UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: 0x8a43,
  560. UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: 0x8a44,
  561. UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: 0x8a46,
  562. INVALID_INDEX: 0xffffffff,
  563. MAX_VERTEX_OUTPUT_COMPONENTS: 0x9122,
  564. MAX_FRAGMENT_INPUT_COMPONENTS: 0x9125,
  565. MAX_SERVER_WAIT_TIMEOUT: 0x9111,
  566. OBJECT_TYPE: 0x9112,
  567. SYNC_CONDITION: 0x9113,
  568. SYNC_STATUS: 0x9114,
  569. SYNC_FLAGS: 0x9115,
  570. SYNC_FENCE: 0x9116,
  571. SYNC_GPU_COMMANDS_COMPLETE: 0x9117,
  572. UNSIGNALED: 0x9118,
  573. SIGNALED: 0x9119,
  574. ALREADY_SIGNALED: 0x911a,
  575. TIMEOUT_EXPIRED: 0x911b,
  576. CONDITION_SATISFIED: 0x911c,
  577. WAIT_FAILED: 0x911d,
  578. SYNC_FLUSH_COMMANDS_BIT: 0x00000001,
  579. VERTEX_ATTRIB_ARRAY_DIVISOR: 0x88fe,
  580. ANY_SAMPLES_PASSED: 0x8c2f,
  581. ANY_SAMPLES_PASSED_CONSERVATIVE: 0x8d6a,
  582. SAMPLER_BINDING: 0x8919,
  583. RGB10_A2UI: 0x906f,
  584. INT_2_10_10_10_REV: 0x8d9f,
  585. TRANSFORM_FEEDBACK: 0x8e22,
  586. TRANSFORM_FEEDBACK_PAUSED: 0x8e23,
  587. TRANSFORM_FEEDBACK_ACTIVE: 0x8e24,
  588. TRANSFORM_FEEDBACK_BINDING: 0x8e25,
  589. COMPRESSED_R11_EAC: 0x9270,
  590. COMPRESSED_SIGNED_R11_EAC: 0x9271,
  591. COMPRESSED_RG11_EAC: 0x9272,
  592. COMPRESSED_SIGNED_RG11_EAC: 0x9273,
  593. COMPRESSED_RGB8_ETC2: 0x9274,
  594. COMPRESSED_SRGB8_ETC2: 0x9275,
  595. COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 0x9276,
  596. COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 0x9277,
  597. COMPRESSED_RGBA8_ETC2_EAC: 0x9278,
  598. COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 0x9279,
  599. TEXTURE_IMMUTABLE_FORMAT: 0x912f,
  600. MAX_ELEMENT_INDEX: 0x8d6b,
  601. TEXTURE_IMMUTABLE_LEVELS: 0x82df,
  602. // Extensions
  603. MAX_TEXTURE_MAX_ANISOTROPY_EXT: 0x84ff,
  604. };
  605. export default Object.freeze(WebGLConstants);