webgl2.d.ts 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  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. texImage3D(target: number, level: number, internalformat: number, width: number, height: number, depth: number, border: number, format: number, type: number, pixels: ArrayBufferView | null): void;
  57. texImage3D(target: number, level: number, internalformat: number, width: number, height: number, depth: number, border: number, format: number, type: number, pixels: ArrayBufferView, offset: number): void;
  58. 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;
  59. compressedTexImage3D(target: number, level: number, internalformat: number, width: number, height: number, depth: number, border: number, data: ArrayBufferView, offset?: number, length?: number): void;
  60. readonly TRANSFORM_FEEDBACK: number;
  61. readonly INTERLEAVED_ATTRIBS: number;
  62. readonly TRANSFORM_FEEDBACK_BUFFER: number;
  63. createTransformFeedback(): WebGLTransformFeedback;
  64. deleteTransformFeedback(transformFeedbac: WebGLTransformFeedback): void;
  65. bindTransformFeedback(target: number, transformFeedback: WebGLTransformFeedback | null): void;
  66. beginTransformFeedback(primitiveMode: number): void;
  67. endTransformFeedback(): void;
  68. transformFeedbackVaryings(program: WebGLProgram, varyings: string[], bufferMode: number): void;
  69. clearBufferfv(buffer: number, drawbuffer: number, values: ArrayBufferView, srcOffset: number | null): void;
  70. clearBufferiv(buffer: number, drawbuffer: number, values: ArrayBufferView, srcOffset: number | null): void;
  71. clearBufferuiv(buffer: number, drawbuffer: number, values: ArrayBufferView, srcOffset: number | null): void;
  72. clearBufferfi(buffer: number, drawbuffer: number, depth: number, stencil: number): void;
  73. }
  74. interface ImageBitmap {
  75. readonly width: number;
  76. readonly height: number;
  77. close(): void;
  78. }
  79. interface WebGLQuery extends WebGLObject {
  80. }
  81. declare var WebGLQuery: {
  82. prototype: WebGLQuery;
  83. new(): WebGLQuery;
  84. };
  85. interface WebGLSampler extends WebGLObject {
  86. }
  87. declare var WebGLSampler: {
  88. prototype: WebGLSampler;
  89. new(): WebGLSampler;
  90. };
  91. interface WebGLSync extends WebGLObject {
  92. }
  93. declare var WebGLSync: {
  94. prototype: WebGLSync;
  95. new(): WebGLSync;
  96. };
  97. interface WebGLTransformFeedback extends WebGLObject {
  98. }
  99. declare var WebGLTransformFeedback: {
  100. prototype: WebGLTransformFeedback;
  101. new(): WebGLTransformFeedback;
  102. };
  103. interface WebGLVertexArrayObject extends WebGLObject {
  104. }
  105. declare var WebGLVertexArrayObject: {
  106. prototype: WebGLVertexArrayObject;
  107. new(): WebGLVertexArrayObject;
  108. };