webgl2.d.ts 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. // Type definitions for WebGL 2, Editor's Draft Fri Feb 24 16:10:18 2017 -0800
  2. // Project: https://www.khronos.org/registry/webgl/specs/latest/2.0/
  3. // Definitions by: Nico Kemnitz <https://github.com/nkemnitz/>
  4. // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
  5. interface WebGLRenderingContext {
  6. readonly RASTERIZER_DISCARD: number;
  7. readonly DEPTH_COMPONENT24: number;
  8. readonly TEXTURE_3D: number;
  9. readonly TEXTURE_2D_ARRAY: number;
  10. readonly TEXTURE_COMPARE_FUNC: number;
  11. readonly TEXTURE_COMPARE_MODE: number;
  12. readonly COMPARE_REF_TO_TEXTURE: number;
  13. readonly TEXTURE_WRAP_R: number;
  14. readonly HALF_FLOAT: number;
  15. readonly RGB8: number;
  16. readonly RED_INTEGER: number;
  17. readonly RG_INTEGER: number;
  18. readonly RGB_INTEGER: number;
  19. readonly RGBA_INTEGER: number;
  20. readonly R8_SNORM: number;
  21. readonly RG8_SNORM: number;
  22. readonly RGB8_SNORM: number;
  23. readonly RGBA8_SNORM: number;
  24. readonly R8I: number;
  25. readonly RG8I: number;
  26. readonly RGB8I: number;
  27. readonly RGBA8I: number;
  28. readonly R8UI: number;
  29. readonly RG8UI: number;
  30. readonly RGB8UI: number;
  31. readonly RGBA8UI: number;
  32. readonly R16I: number;
  33. readonly RG16I: number;
  34. readonly RGB16I: number;
  35. readonly RGBA16I: number;
  36. readonly R16UI: number;
  37. readonly RG16UI: number;
  38. readonly RGB16UI: number;
  39. readonly RGBA16UI: number;
  40. readonly R32I: number;
  41. readonly RG32I: number;
  42. readonly RGB32I: number;
  43. readonly RGBA32I: number;
  44. readonly R32UI: number;
  45. readonly RG32UI: number;
  46. readonly RGB32UI: number;
  47. readonly RGBA32UI: number;
  48. readonly RGB10_A2UI: number;
  49. readonly R11F_G11F_B10F: number;
  50. readonly RGB9_E5: number;
  51. readonly RGB10_A2: number;
  52. readonly UNSIGNED_INT_2_10_10_10_REV: number;
  53. readonly UNSIGNED_INT_10F_11F_11F_REV: number;
  54. readonly UNSIGNED_INT_5_9_9_9_REV: number;
  55. readonly FLOAT_32_UNSIGNED_INT_24_8_REV: number;
  56. readonly DEPTH_COMPONENT32F: number;
  57. texImage3D(target: number, level: number, internalformat: number, width: number, height: number, depth: number, border: number, format: number, type: number, pixels: ArrayBufferView | null): void;
  58. texImage3D(target: number, level: number, internalformat: number, width: number, height: number, depth: number, border: number, format: number, type: number, pixels: ArrayBufferView, offset: number): void;
  59. texImage3D(target: number, level: number, internalformat: number, width: number, height: number, depth: number, border: number, format: number, type: number, pixels: ImageBitmap | ImageData | HTMLVideoElement | HTMLImageElement | HTMLCanvasElement): void;
  60. framebufferTextureLayer(target: number, attachment: number, texture: WebGLTexture | null, level: number, layer: number): void;
  61. compressedTexImage3D(target: number, level: number, internalformat: number, width: number, height: number, depth: number, border: number, data: ArrayBufferView, offset?: number, length?: number): void;
  62. readonly TRANSFORM_FEEDBACK: number;
  63. readonly INTERLEAVED_ATTRIBS: number;
  64. readonly TRANSFORM_FEEDBACK_BUFFER: number;
  65. createTransformFeedback(): WebGLTransformFeedback;
  66. deleteTransformFeedback(transformFeedbac: WebGLTransformFeedback): void;
  67. bindTransformFeedback(target: number, transformFeedback: WebGLTransformFeedback | null): void;
  68. beginTransformFeedback(primitiveMode: number): void;
  69. endTransformFeedback(): void;
  70. transformFeedbackVaryings(program: WebGLProgram, varyings: string[], bufferMode: number): void;
  71. clearBufferfv(buffer: number, drawbuffer: number, values: ArrayBufferView, srcOffset: number | null): void;
  72. clearBufferiv(buffer: number, drawbuffer: number, values: ArrayBufferView, srcOffset: number | null): void;
  73. clearBufferuiv(buffer: number, drawbuffer: number, values: ArrayBufferView, srcOffset: number | null): void;
  74. clearBufferfi(buffer: number, drawbuffer: number, depth: number, stencil: number): void;
  75. }
  76. interface ImageBitmap {
  77. readonly width: number;
  78. readonly height: number;
  79. close(): void;
  80. }
  81. interface WebGLQuery extends WebGLObject {
  82. }
  83. declare var WebGLQuery: {
  84. prototype: WebGLQuery;
  85. new(): WebGLQuery;
  86. };
  87. interface WebGLSampler extends WebGLObject {
  88. }
  89. declare var WebGLSampler: {
  90. prototype: WebGLSampler;
  91. new(): WebGLSampler;
  92. };
  93. interface WebGLSync extends WebGLObject {
  94. }
  95. declare var WebGLSync: {
  96. prototype: WebGLSync;
  97. new(): WebGLSync;
  98. };
  99. interface WebGLTransformFeedback extends WebGLObject {
  100. }
  101. declare var WebGLTransformFeedback: {
  102. prototype: WebGLTransformFeedback;
  103. new(): WebGLTransformFeedback;
  104. };
  105. interface WebGLVertexArrayObject extends WebGLObject {
  106. }
  107. declare var WebGLVertexArrayObject: {
  108. prototype: WebGLVertexArrayObject;
  109. new(): WebGLVertexArrayObject;
  110. };