babylon.engine.d.ts 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  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. forceWireframe: boolean;
  26. cullBackFaces: boolean;
  27. scenes: Scene[];
  28. isPointerLock: boolean;
  29. getAspectRatio(): number;
  30. getRenderWidth(): number;
  31. getRenderHeight(): number;
  32. getRenderingCanvas(): HTMLCanvasElement;
  33. setHardwareScalingLevel(level: number): void;
  34. getLoadedTexturesCache(): Texture[];
  35. getCaps(): Capabilities;
  36. stopRenderLoop(): void;
  37. runRenderLoop(renderFunction: Function): void;
  38. switchFullscreen(element: HTMLElement);
  39. clear(color: IColor3, backBuffer: boolean, depthStencil: boolean);
  40. beginFrame(): void;
  41. endFrame(): void;
  42. resize(): void;
  43. bindFramebuffer(texture: Texture);
  44. unBindFramebuffer(texture: Texture);
  45. flushFramebuffer(): void;
  46. restoreDefaultFramebuffer(): void;
  47. createVertexBuffer(vertices: number[]): VertexBuffer;
  48. createVertexBuffer(vertices: ArrayBuffer): VertexBuffer;
  49. createVertexBuffer(vertices: ArrayBufferView): VertexBuffer;
  50. createDynamicVertexBuffer(capacity: number): VertexBuffer;
  51. updateDynamicVertexBuffer(vertexBuffer: VertexBuffer, vertices: number[]): void;
  52. updateDynamicVertexBuffer(vertexBuffer: VertexBuffer, vertices: ArrayBuffer): void;
  53. updateDynamicVertexBuffer(vertexBuffer: VertexBuffer, vertices: ArrayBufferView): void;
  54. createIndexBuffer(indices, is32Bits): IndexBuffer;
  55. bindBuffers(vb: VertexBuffer, ib: IndexBuffer, vdecl: number[], strideSize: number, effect: Effect);
  56. bindMultiBuffers(vertexBuffers: VertexBuffer[], indexBuffer: IndexBuffer, effect: Effect): void;
  57. _releaseBuffer(vb: VertexBuffer);
  58. draw(useTriangles: boolean, indexStart: number, indexCount: number);
  59. createEffect(baseName: string, attributesNames: string, uniformsNames: string[],
  60. samplers: WebGLUniformLocation[],
  61. defines: string): Effect;
  62. createShaderProgram(vertexCode: string, fragmentCode: string, defines: string): WebGLProgram;
  63. getUniforms(shaderProgram: WebGLProgram, uniformsNames: string[]): WebGLUniformLocation[];
  64. getAttributes(shaderProgram: WebGLProgram, attributesNames: string[]): number[];
  65. enableEffect(effect: Effect): void;
  66. setMatrices(uniform: string, matrices: Matrix[]): void;
  67. setMatrix(uniform: string, matrix: Matrix): void;
  68. setVector2(uniform: string, x: number, y: number): void;
  69. setVector3(uniform: string, v: Vector3): void;
  70. setFloat2(uniform: string, x: number, y: number): void;
  71. setFloat3(uniform: string, x: number, y: number, z: number): void;
  72. setBool(uniform: string, val: boolean): void;
  73. setFloat4(uniform: string, x: number, y: number, z: number, w: number): void;
  74. setColor3(uniform: string, color: Color3): void;
  75. setColor4(uniform: string, color: Color3, alpha: number): void;
  76. setState(cullingMode: number): void;
  77. setDepthBuffer(enable: boolean): void;
  78. setDepthWrite(enable: boolean): void;
  79. setColorWrite(enable: boolean): void;
  80. setAlphaMode(mode: number): void;
  81. setAlphaTesting(enable: boolean): void;
  82. getAlphaTesting(): boolean;
  83. wipeCaches(): void;
  84. getExponantOfTwo(value: number, max: number): number;
  85. createTexture(url: string, noMipmap: boolean, invertY: boolean, scene: Scene): Texture;
  86. createDynamicTexture(size: number, noMipmap: boolean): Texture;
  87. updateDynamicTexture(texture: Texture, canvas: HTMLCanvasElement, invertY: boolean): void;
  88. updateVideoTexture(texture: Texture, video: HTMLVideoElement): void;
  89. createRenderTargetTexture(size: number, generateMipMaps: boolean): Texture;
  90. createCubeTexture(rootUrl: string, scene: Scene): Texture;
  91. _releaseTexture(tex: Texture): void;
  92. bindSamplers(effect: Effect): void;
  93. setTexture(channel: number, texture: Texture): void;
  94. dispose(): void;
  95. static ShadersRepository: string;
  96. static ALPHA_DISABLE: number;
  97. static ALPHA_ADD: number;
  98. static ALPHA_COMBINE: number;
  99. static DELAYLOADSTATE_NONE: number;
  100. static DELAYLOADSTATE_LOADED: number;
  101. static DELAYLOADSTATE_LOADING: number;
  102. static DELAYLOADSTATE_NOTLOADED: number;
  103. static epsilon: number;
  104. static collisionEpsilon: number;
  105. static isSupported(): boolean;
  106. }
  107. }