webgl.d.ts 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. interface WebGLRenderingContext {
  2. drawArraysInstanced(mode: number, first: number, count: number, primcount: number): void;
  3. drawElementsInstanced(mode: number, count: number, type: number, offset: number, primcount: number): void;
  4. vertexAttribDivisor(index: number, divisor: number): void;
  5. createVertexArray(): any;
  6. bindVertexArray(vao?: WebGLVertexArrayObject | null): void;
  7. deleteVertexArray(vao: WebGLVertexArrayObject): void;
  8. blitFramebuffer(srcX0: number, srcY0: number, srcX1: number, srcY1: number, dstX0: number, dstY0: number, dstX1: number, dstY1: number, mask: number, filter: number): void;
  9. renderbufferStorageMultisample(target: number, samples: number, internalformat: number, width: number, height: number): void;
  10. bindBufferBase(target: number, index: number, buffer: WebGLBuffer | null): void;
  11. getUniformBlockIndex(program: WebGLProgram, uniformBlockName: string): number;
  12. uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: number, uniformBlockBinding: number): void;
  13. // Queries
  14. createQuery(): WebGLQuery;
  15. deleteQuery(query: WebGLQuery): void;
  16. beginQuery(target: number, query: WebGLQuery): void;
  17. endQuery(target: number): void;
  18. getQueryParameter(query: WebGLQuery, pname: number): any;
  19. getQuery(target: number, pname: number): any;
  20. MAX_SAMPLES: number;
  21. RGBA8: number;
  22. READ_FRAMEBUFFER: number;
  23. DRAW_FRAMEBUFFER: number;
  24. UNIFORM_BUFFER: number;
  25. HALF_FLOAT_OES: number;
  26. RGBA16F: number;
  27. RGBA32F: number;
  28. R32F: number;
  29. RG32F: number;
  30. RGB32F: number;
  31. R16F: number;
  32. RG16F: number;
  33. RGB16F: number;
  34. RED: number;
  35. RG: number;
  36. R8: number;
  37. RG8: number;
  38. UNSIGNED_INT_24_8: number;
  39. DEPTH24_STENCIL8: number;
  40. MIN: number;
  41. MAX: number;
  42. /* Multiple Render Targets */
  43. drawBuffers(buffers: number[]): void;
  44. readBuffer(src: number): void;
  45. readonly COLOR_ATTACHMENT0: number; // 0x8CE1
  46. readonly COLOR_ATTACHMENT1: number; // 0x8CE2
  47. readonly COLOR_ATTACHMENT2: number; // 0x8CE3
  48. readonly COLOR_ATTACHMENT3: number; // 0x8CE4
  49. // Occlusion Query
  50. ANY_SAMPLES_PASSED_CONSERVATIVE: number;
  51. ANY_SAMPLES_PASSED: number;
  52. QUERY_RESULT_AVAILABLE: number;
  53. QUERY_RESULT: number;
  54. }
  55. interface WebGLProgram {
  56. __SPECTOR_rebuildProgram?: ((vertexSourceCode: string, fragmentSourceCode: string, onCompiled: (program: WebGLProgram) => void, onError: (message: string) => void) => void) | null;
  57. }
  58. interface EXT_disjoint_timer_query {
  59. QUERY_COUNTER_BITS_EXT: number;
  60. TIME_ELAPSED_EXT: number;
  61. TIMESTAMP_EXT: number;
  62. GPU_DISJOINT_EXT: number;
  63. QUERY_RESULT_EXT: number;
  64. QUERY_RESULT_AVAILABLE_EXT: number;
  65. queryCounterEXT(query: WebGLQuery, target: number): void;
  66. createQueryEXT(): WebGLQuery;
  67. beginQueryEXT(target: number, query: WebGLQuery): void;
  68. endQueryEXT(target: number): void;
  69. getQueryObjectEXT(query: WebGLQuery, target: number): any;
  70. deleteQueryEXT(query: WebGLQuery): void;
  71. }
  72. interface WebGLUniformLocation {
  73. _currentState: any;
  74. }