babylon.engine.d.ts 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. /// <reference path="babylon.d.ts" />
  2. interface WebGLProgram {
  3. }
  4. interface WebGLShader {
  5. }
  6. interface WebGLUniformLocation {
  7. }
  8. interface WebGLRenderingContext {
  9. }
  10. interface VertexBuffer {
  11. [index: number]: number;
  12. }
  13. interface IndexBuffer {
  14. [index: number]: number;
  15. }
  16. declare module BABYLON {
  17. interface Capabilities {
  18. maxTexturesImageUnits: number;
  19. maxTextureSize: number;
  20. maxCubemapTextureSize: number;
  21. maxRenderTextureSize: number;
  22. }
  23. class Engine {
  24. constructor(canvas: HTMLCanvasElement, antialias: boolean);
  25. getAspectRatio(): number;
  26. getRenderWidth(): number;
  27. getRenderHeight(): number;
  28. getRenderingCanvas(): HTMLCanvasElement;
  29. setHardwareScalingLevel(level: number): void;
  30. getLoadedTexturesCache(): Texture[];
  31. getCaps(): Capabilities;
  32. switchFullscreen(element: HTMLElement);
  33. clear(color: IColor3, backBuffer: bool, depthStencil: bool);
  34. beginFrame(): void;
  35. endFrame(): void;
  36. resize(): void;
  37. bindFramebuffer(texture: Texture);
  38. unBindFramebuffer(texture: Texture);
  39. flushFramebuffer(): void;
  40. restoreDefaultFramebuffer(): void;
  41. createVertexBuffer(vertices: number[]): VertexBuffer;
  42. createVertexBuffer(vertices: ArrayBuffer): VertexBuffer;
  43. createVertexBuffer(vertices: ArrayBufferView): VertexBuffer;
  44. createDynamicVertexBuffer(capacity: number): VertexBuffer;
  45. updateDynamicVertexBuffer(vertexBuffer: VertexBuffer, vertices: number[]): void;
  46. updateDynamicVertexBuffer(vertexBuffer: VertexBuffer, vertices: ArrayBuffer): void;
  47. updateDynamicVertexBuffer(vertexBuffer: VertexBuffer, vertices: ArrayBufferView): void;
  48. createIndexBuffer(indices, is32Bits): IndexBuffer;
  49. bindBuffers(vb: VertexBuffer, ib: IndexBuffer, vdecl: number[], strideSize: number, effect: Effect);
  50. _releaseBuffer(vb: VertexBuffer);
  51. draw(useTriangles: bool, indexStart: number, indexCount: number);
  52. createEffect(baseName: string, attributesNames: string, uniformsNames: string[],
  53. samplers: WebGLUniformLocation[],
  54. defines: string): Effect;
  55. createShaderProgram(vertexCode: string, fragmentCode: string, defines: string): WebGLProgram;
  56. getUniforms(shaderProgram: WebGLProgram, uniformsNames: string[]): WebGLUniformLocation[];
  57. getAttributes(shaderProgram: WebGLProgram, attributesNames: string[]): number[];
  58. enableEffect(effect: Effect): void;
  59. setMatrix(uniform: string, matrix: Matrix): void;
  60. setVector2(uniform: string, x: number, y: number): void;
  61. setVector3(uniform: string, v: Vector3): void;
  62. setBool(uniform: string, val: bool): void;
  63. setVector4(uniform: string, x: number, y: number, z: number, w: number): void;
  64. setColor3(uniform: string, color: Color3): void;
  65. setColor4(uniform: string, color: Color3, alpha: number): void;
  66. setState(cullingMode: number): void;
  67. setDepthBuffer(enable: bool): void;
  68. setDepthWrite(enable: bool): void;
  69. setColorWrite(enable: bool): void;
  70. setAlphaMode(mode: number): void;
  71. setAlphaTesting(enable: bool): void;
  72. getAlphaTesting(): bool;
  73. wipeCaches(): void;
  74. createTexture(url: string, noMipmap: bool, invertY: bool): Texture;
  75. createDynamicTexture(size: number, noMipmap: bool): Texture;
  76. updateDynamicTexture(texture: Texture, canvas: HTMLCanvasElement): void;
  77. createRenderTargetTexture(size: number, generateMipMaps: bool): Texture;
  78. createCubeTexture(rootUrl: string): Texture;
  79. _releaseTexture(tex: Texture): void;
  80. bindSamplers(effect: Effect): void;
  81. setTexture(channel: number, texture: Texture): void;
  82. dispose(): void;
  83. static ShadersRepository: string;
  84. static ALPHA_DISABLE: number;
  85. static ALPHA_ADD: number;
  86. static ALPHA_COMBINE: number;
  87. static epsilon: number;
  88. static collisionEpsilon: number;
  89. static isSupported(): bool;
  90. }
  91. }