|
@@ -5213,6 +5213,42 @@ declare module BABYLON {
|
|
}
|
|
}
|
|
declare module BABYLON {
|
|
declare module BABYLON {
|
|
/**
|
|
/**
|
|
|
|
+ * Class used to store and describe the pipeline context associated with an effect
|
|
|
|
+ */
|
|
|
|
+ export interface IPipelineContext {
|
|
|
|
+ /**
|
|
|
|
+ * Gets a boolean indicating that this pipeline context is supporting asynchronous creating
|
|
|
|
+ */
|
|
|
|
+ isAsync: boolean;
|
|
|
|
+ /**
|
|
|
|
+ * Gets a boolean indicating that the context is ready to be used (like shaders / pipelines are compiled and ready for instance)
|
|
|
|
+ */
|
|
|
|
+ isReady: boolean;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+declare module BABYLON {
|
|
|
|
+ /**
|
|
|
|
+ * Class used to store gfx data (like WebGLBuffer)
|
|
|
|
+ */
|
|
|
|
+ export class DataBuffer {
|
|
|
|
+ /**
|
|
|
|
+ * Gets or sets the number of objects referencing this buffer
|
|
|
|
+ */
|
|
|
|
+ references: number;
|
|
|
|
+ /** Gets or sets the size of the underlying buffer */
|
|
|
|
+ capacity: number;
|
|
|
|
+ /**
|
|
|
|
+ * Gets or sets a boolean indicating if the buffer contains 32bits indices
|
|
|
|
+ */
|
|
|
|
+ is32Bits: boolean;
|
|
|
|
+ /**
|
|
|
|
+ * Gets the underlying buffer
|
|
|
|
+ */
|
|
|
|
+ readonly underlyingResource: any;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+declare module BABYLON {
|
|
|
|
+ /**
|
|
* Performance monitor tracks rolling average frame-time and frame-time variance over a user defined sliding-window
|
|
* Performance monitor tracks rolling average frame-time and frame-time variance over a user defined sliding-window
|
|
*/
|
|
*/
|
|
export class PerformanceMonitor {
|
|
export class PerformanceMonitor {
|
|
@@ -5478,7 +5514,7 @@ declare module BABYLON {
|
|
* Gets underlying native buffer
|
|
* Gets underlying native buffer
|
|
* @returns underlying native buffer
|
|
* @returns underlying native buffer
|
|
*/
|
|
*/
|
|
- getBuffer(): Nullable<WebGLBuffer>;
|
|
|
|
|
|
+ getBuffer(): Nullable<DataBuffer>;
|
|
/**
|
|
/**
|
|
* Gets the stride in float32 units (i.e. byte stride / 4).
|
|
* Gets the stride in float32 units (i.e. byte stride / 4).
|
|
* May not be an integer if the byte stride is not divisible by 4.
|
|
* May not be an integer if the byte stride is not divisible by 4.
|
|
@@ -5604,7 +5640,7 @@ declare module BABYLON {
|
|
* Gets underlying native buffer
|
|
* Gets underlying native buffer
|
|
* @returns underlying native buffer
|
|
* @returns underlying native buffer
|
|
*/
|
|
*/
|
|
- getBuffer(): Nullable<WebGLBuffer>;
|
|
|
|
|
|
+ getBuffer(): Nullable<DataBuffer>;
|
|
/**
|
|
/**
|
|
* Gets the stride in float32 units (i.e. byte stride / 4).
|
|
* Gets the stride in float32 units (i.e. byte stride / 4).
|
|
* May not be an integer if the byte stride is not divisible by 4.
|
|
* May not be an integer if the byte stride is not divisible by 4.
|
|
@@ -16476,6 +16512,7 @@ declare module BABYLON {
|
|
refreshBoundingInfo(applySkeleton?: boolean): InstancedMesh;
|
|
refreshBoundingInfo(applySkeleton?: boolean): InstancedMesh;
|
|
/** @hidden */
preActivate(): InstancedMesh;
|
|
/** @hidden */
preActivate(): InstancedMesh;
|
|
/** @hidden */
activate(renderId: number): boolean;
|
|
/** @hidden */
activate(renderId: number): boolean;
|
|
|
|
+ getWorldMatrix(): Matrix;
|
|
/**
|
|
/**
|
|
* Returns the current associated LOD AbstractMesh.
|
|
* Returns the current associated LOD AbstractMesh.
|
|
*/
|
|
*/
|
|
@@ -16986,7 +17023,7 @@ declare module BABYLON {
|
|
protected _epsilon: number;
|
|
protected _epsilon: number;
|
|
protected _indicesCount: number;
|
|
protected _indicesCount: number;
|
|
protected _lineShader: ShaderMaterial;
|
|
protected _lineShader: ShaderMaterial;
|
|
- protected _ib: WebGLBuffer;
|
|
|
|
|
|
+ protected _ib: DataBuffer;
|
|
protected _buffers: {
|
|
protected _buffers: {
|
|
[key: string]: Nullable<VertexBuffer>;
|
|
[key: string]: Nullable<VertexBuffer>;
|
|
};
|
|
};
|
|
@@ -19144,6 +19181,28 @@ declare module BABYLON {
|
|
}
|
|
}
|
|
declare module BABYLON {
|
|
declare module BABYLON {
|
|
/**
|
|
/**
|
|
|
|
+ * Class used to represent a specific level of detail of a mesh
|
|
|
|
+ * @see http://doc.babylonjs.com/how_to/how_to_use_lod
|
|
|
|
+ */
|
|
|
|
+ export class MeshLODLevel {
|
|
|
|
+ /** Defines the distance where this level should star being displayed */
|
|
|
|
+ distance: number;
|
|
|
|
+ /** Defines the mesh to use to render this level */
|
|
|
|
+ mesh: Nullable<Mesh>;
|
|
|
|
+ /**
|
|
|
|
+ * Creates a new LOD level
|
|
|
|
+ * @param distance defines the distance where this level should star being displayed
|
|
|
|
+ * @param mesh defines the mesh to use to render this level
|
|
|
|
+ */
|
|
|
|
+ constructor(
|
|
|
|
+ /** Defines the distance where this level should star being displayed */
|
|
|
|
+ distance: number,
|
|
|
|
+ /** Defines the mesh to use to render this level */
|
|
|
|
+ mesh: Nullable<Mesh>);
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+declare module BABYLON {
|
|
|
|
+ /**
|
|
* Mesh representing the gorund
|
|
* Mesh representing the gorund
|
|
*/
|
|
*/
|
|
export class GroundMesh extends Mesh {
|
|
export class GroundMesh extends Mesh {
|
|
@@ -20343,26 +20402,6 @@ declare module BABYLON {
|
|
}
|
|
}
|
|
declare module BABYLON {
|
|
declare module BABYLON {
|
|
/**
|
|
/**
|
|
- * Class used to represent a specific level of detail of a mesh
|
|
|
|
- * @see http://doc.babylonjs.com/how_to/how_to_use_lod
|
|
|
|
- */
|
|
|
|
- export class MeshLODLevel {
|
|
|
|
- /** Defines the distance where this level should star being displayed */
|
|
|
|
- distance: number;
|
|
|
|
- /** Defines the mesh to use to render this level */
|
|
|
|
- mesh: Nullable<Mesh>;
|
|
|
|
- /**
|
|
|
|
- * Creates a new LOD level
|
|
|
|
- * @param distance defines the distance where this level should star being displayed
|
|
|
|
- * @param mesh defines the mesh to use to render this level
|
|
|
|
- */
|
|
|
|
- constructor(
|
|
|
|
- /** Defines the distance where this level should star being displayed */
|
|
|
|
- distance: number,
|
|
|
|
- /** Defines the mesh to use to render this level */
|
|
|
|
- mesh: Nullable<Mesh>);
|
|
|
|
- }
|
|
|
|
- /**
|
|
|
|
* @hidden
|
|
* @hidden
|
|
**/
|
|
**/
|
|
export class _CreationDataStorage {
|
|
export class _CreationDataStorage {
|
|
@@ -22170,7 +22209,7 @@ declare module BABYLON {
|
|
render(enableAlphaMode: boolean): SubMesh;
|
|
render(enableAlphaMode: boolean): SubMesh;
|
|
/**
|
|
/**
|
|
* @hidden
|
|
* @hidden
|
|
- */
getLinesIndexBuffer(indices: IndicesArray, engine: Engine): WebGLBuffer;
|
|
|
|
|
|
+ */
getLinesIndexBuffer(indices: IndicesArray, engine: Engine): DataBuffer;
|
|
/**
|
|
/**
|
|
* Checks if the submesh intersects with a ray
|
|
* Checks if the submesh intersects with a ray
|
|
* @param ray defines the ray to test
|
|
* @param ray defines the ray to test
|
|
@@ -22341,7 +22380,7 @@ declare module BABYLON {
|
|
setVerticesBuffer(buffer: VertexBuffer, totalVertices?: Nullable<number>): void;
|
|
setVerticesBuffer(buffer: VertexBuffer, totalVertices?: Nullable<number>): void;
|
|
/**
|
|
/**
|
|
* Update a specific vertex buffer
|
|
* Update a specific vertex buffer
|
|
- * This function will directly update the underlying WebGLBuffer according to the passed numeric array or Float32Array
|
|
|
|
|
|
+ * This function will directly update the underlying DataBuffer according to the passed numeric array or Float32Array
|
|
* It will do nothing if the buffer is not updatable
|
|
* It will do nothing if the buffer is not updatable
|
|
* @param kind defines the data kind (Position, normal, etc...)
|
|
* @param kind defines the data kind (Position, normal, etc...)
|
|
* @param data defines the data to use
|
|
* @param data defines the data to use
|
|
@@ -22358,7 +22397,7 @@ declare module BABYLON {
|
|
*/
|
|
*/
|
|
updateVerticesData(kind: string, data: FloatArray, updateExtends?: boolean): void;
|
|
updateVerticesData(kind: string, data: FloatArray, updateExtends?: boolean): void;
|
|
private _updateBoundingInfo;
|
|
private _updateBoundingInfo;
|
|
- /** @hidden */
bind(effect: Nullable<Effect>, indexToBind?: Nullable<WebGLBuffer>): void;
|
|
|
|
|
|
+ /** @hidden */
bind(effect: Nullable<Effect>, indexToBind?: Nullable<DataBuffer>): void;
|
|
/**
|
|
/**
|
|
* Gets total number of vertices
|
|
* Gets total number of vertices
|
|
* @returns the total number of vertices
|
|
* @returns the total number of vertices
|
|
@@ -22432,7 +22471,7 @@ declare module BABYLON {
|
|
* Gets the index buffer
|
|
* Gets the index buffer
|
|
* @return the index buffer
|
|
* @return the index buffer
|
|
*/
|
|
*/
|
|
- getIndexBuffer(): Nullable<WebGLBuffer>;
|
|
|
|
|
|
+ getIndexBuffer(): Nullable<DataBuffer>;
|
|
/** @hidden */
releaseVertexArrayObject(effect?: Nullable<Effect>): void;
|
|
/** @hidden */
releaseVertexArrayObject(effect?: Nullable<Effect>): void;
|
|
/**
|
|
/**
|
|
* Release the associated resources for a specific mesh
|
|
* Release the associated resources for a specific mesh
|
|
@@ -23829,6 +23868,7 @@ declare module BABYLON {
|
|
/** @hidden */
occlusionQuery: Nullable<WebGLQuery>;
|
|
/** @hidden */
occlusionQuery: Nullable<WebGLQuery>;
|
|
private _visibility;
|
|
private _visibility;
|
|
/** @hidden */
isActive: boolean;
|
|
/** @hidden */
isActive: boolean;
|
|
|
|
+ /** @hidden */
onlyForInstances: boolean;
|
|
/** @hidden */
renderingGroup: Nullable<RenderingGroup>;
|
|
/** @hidden */
renderingGroup: Nullable<RenderingGroup>;
|
|
/**
|
|
/**
|
|
* Gets or sets mesh visibility between 0 and 1 (default is 1)
|
|
* Gets or sets mesh visibility between 0 and 1 (default is 1)
|
|
@@ -25799,7 +25839,7 @@ declare module BABYLON {
|
|
* The underlying WebGL Uniform buffer.
|
|
* The underlying WebGL Uniform buffer.
|
|
* @returns the webgl buffer
|
|
* @returns the webgl buffer
|
|
*/
|
|
*/
|
|
- getBuffer(): Nullable<WebGLBuffer>;
|
|
|
|
|
|
+ getBuffer(): Nullable<DataBuffer>;
|
|
/**
|
|
/**
|
|
* std140 layout specifies how to align data within an UBO structure.
|
|
* std140 layout specifies how to align data within an UBO structure.
|
|
* See https://khronos.org/registry/OpenGL/specs/gl/glspec45.core.pdf#page=159
|
|
* See https://khronos.org/registry/OpenGL/specs/gl/glspec45.core.pdf#page=159
|
|
@@ -26248,6 +26288,29 @@ declare module BABYLON {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
declare module BABYLON {
|
|
declare module BABYLON {
|
|
|
|
+ /** @hidden */
|
|
|
|
+ export class WebGLPipelineContext implements IPipelineContext {
|
|
|
|
+ engine: Engine;
|
|
|
|
+ program: Nullable<WebGLProgram>;
|
|
|
|
+ context?: WebGLRenderingContext;
|
|
|
|
+ vertexShader?: WebGLShader;
|
|
|
|
+ fragmentShader?: WebGLShader;
|
|
|
|
+ isParallelCompiled: boolean;
|
|
|
|
+ onCompiled?: () => void;
|
|
|
|
+ transformFeedback?: WebGLTransformFeedback | null;
|
|
|
|
+ readonly isAsync: boolean;
|
|
|
|
+ readonly isReady: boolean;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+declare module BABYLON {
|
|
|
|
+ /** @hidden */
|
|
|
|
+ export class WebGLDataBuffer extends DataBuffer {
|
|
|
|
+ private _buffer;
|
|
|
|
+ constructor(resource: WebGLBuffer);
|
|
|
|
+ readonly underlyingResource: any;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+declare module BABYLON {
|
|
/**
|
|
/**
|
|
* Settings for finer control over video usage
|
|
* Settings for finer control over video usage
|
|
*/
|
|
*/
|
|
@@ -27039,7 +27102,7 @@ declare module BABYLON {
|
|
/** @hidden */
|
|
/** @hidden */
|
|
protected _cachedVertexBuffers: any;
|
|
protected _cachedVertexBuffers: any;
|
|
/** @hidden */
|
|
/** @hidden */
|
|
- protected _cachedIndexBuffer: Nullable<WebGLBuffer>;
|
|
|
|
|
|
+ protected _cachedIndexBuffer: Nullable<DataBuffer>;
|
|
/** @hidden */
|
|
/** @hidden */
|
|
protected _cachedEffectForVertexBuffers: Nullable<Effect>;
|
|
protected _cachedEffectForVertexBuffers: Nullable<Effect>;
|
|
/** @hidden */
currentRenderTarget: Nullable<InternalTexture>;
|
|
/** @hidden */
currentRenderTarget: Nullable<InternalTexture>;
|
|
@@ -27501,14 +27564,14 @@ declare module BABYLON {
|
|
* @param elements defines the content of the uniform buffer
|
|
* @param elements defines the content of the uniform buffer
|
|
* @returns the webGL uniform buffer
|
|
* @returns the webGL uniform buffer
|
|
*/
|
|
*/
|
|
- createUniformBuffer(elements: FloatArray): WebGLBuffer;
|
|
|
|
|
|
+ createUniformBuffer(elements: FloatArray): DataBuffer;
|
|
/**
|
|
/**
|
|
* Create a dynamic uniform buffer
|
|
* Create a dynamic uniform buffer
|
|
* @see http://doc.babylonjs.com/features/webgl2#uniform-buffer-objets
|
|
* @see http://doc.babylonjs.com/features/webgl2#uniform-buffer-objets
|
|
* @param elements defines the content of the uniform buffer
|
|
* @param elements defines the content of the uniform buffer
|
|
* @returns the webGL uniform buffer
|
|
* @returns the webGL uniform buffer
|
|
*/
|
|
*/
|
|
- createDynamicUniformBuffer(elements: FloatArray): WebGLBuffer;
|
|
|
|
|
|
+ createDynamicUniformBuffer(elements: FloatArray): DataBuffer;
|
|
/**
|
|
/**
|
|
* Update an existing uniform buffer
|
|
* Update an existing uniform buffer
|
|
* @see http://doc.babylonjs.com/features/webgl2#uniform-buffer-objets
|
|
* @see http://doc.babylonjs.com/features/webgl2#uniform-buffer-objets
|
|
@@ -27517,27 +27580,27 @@ declare module BABYLON {
|
|
* @param offset defines the offset in the uniform buffer where update should start
|
|
* @param offset defines the offset in the uniform buffer where update should start
|
|
* @param count defines the size of the data to update
|
|
* @param count defines the size of the data to update
|
|
*/
|
|
*/
|
|
- updateUniformBuffer(uniformBuffer: WebGLBuffer, elements: FloatArray, offset?: number, count?: number): void;
|
|
|
|
|
|
+ updateUniformBuffer(uniformBuffer: DataBuffer, elements: FloatArray, offset?: number, count?: number): void;
|
|
private _resetVertexBufferBinding;
|
|
private _resetVertexBufferBinding;
|
|
/**
|
|
/**
|
|
* Creates a vertex buffer
|
|
* Creates a vertex buffer
|
|
* @param data the data for the vertex buffer
|
|
* @param data the data for the vertex buffer
|
|
* @returns the new WebGL static buffer
|
|
* @returns the new WebGL static buffer
|
|
*/
|
|
*/
|
|
- createVertexBuffer(data: DataArray): WebGLBuffer;
|
|
|
|
|
|
+ createVertexBuffer(data: DataArray): DataBuffer;
|
|
/**
|
|
/**
|
|
* Creates a dynamic vertex buffer
|
|
* Creates a dynamic vertex buffer
|
|
* @param data the data for the dynamic vertex buffer
|
|
* @param data the data for the dynamic vertex buffer
|
|
* @returns the new WebGL dynamic buffer
|
|
* @returns the new WebGL dynamic buffer
|
|
*/
|
|
*/
|
|
- createDynamicVertexBuffer(data: DataArray): WebGLBuffer;
|
|
|
|
|
|
+ createDynamicVertexBuffer(data: DataArray): DataBuffer;
|
|
/**
|
|
/**
|
|
* Update a dynamic index buffer
|
|
* Update a dynamic index buffer
|
|
* @param indexBuffer defines the target index buffer
|
|
* @param indexBuffer defines the target index buffer
|
|
* @param indices defines the data to update
|
|
* @param indices defines the data to update
|
|
* @param offset defines the offset in the target index buffer where update should start
|
|
* @param offset defines the offset in the target index buffer where update should start
|
|
*/
|
|
*/
|
|
- updateDynamicIndexBuffer(indexBuffer: WebGLBuffer, indices: IndicesArray, offset?: number): void;
|
|
|
|
|
|
+ updateDynamicIndexBuffer(indexBuffer: DataBuffer, indices: IndicesArray, offset?: number): void;
|
|
/**
|
|
/**
|
|
* Updates a dynamic vertex buffer.
|
|
* Updates a dynamic vertex buffer.
|
|
* @param vertexBuffer the vertex buffer to update
|
|
* @param vertexBuffer the vertex buffer to update
|
|
@@ -27545,7 +27608,7 @@ declare module BABYLON {
|
|
* @param byteOffset the byte offset of the data
|
|
* @param byteOffset the byte offset of the data
|
|
* @param byteLength the byte length of the data
|
|
* @param byteLength the byte length of the data
|
|
*/
|
|
*/
|
|
- updateDynamicVertexBuffer(vertexBuffer: WebGLBuffer, data: DataArray, byteOffset?: number, byteLength?: number): void;
|
|
|
|
|
|
+ updateDynamicVertexBuffer(vertexBuffer: DataBuffer, data: DataArray, byteOffset?: number, byteLength?: number): void;
|
|
private _resetIndexBufferBinding;
|
|
private _resetIndexBufferBinding;
|
|
/**
|
|
/**
|
|
* Creates a new index buffer
|
|
* Creates a new index buffer
|
|
@@ -27553,30 +27616,30 @@ declare module BABYLON {
|
|
* @param updatable defines if the index buffer must be updatable
|
|
* @param updatable defines if the index buffer must be updatable
|
|
* @returns a new webGL buffer
|
|
* @returns a new webGL buffer
|
|
*/
|
|
*/
|
|
- createIndexBuffer(indices: IndicesArray, updatable?: boolean): WebGLBuffer;
|
|
|
|
|
|
+ createIndexBuffer(indices: IndicesArray, updatable?: boolean): DataBuffer;
|
|
/**
|
|
/**
|
|
* Bind a webGL buffer to the webGL context
|
|
* Bind a webGL buffer to the webGL context
|
|
* @param buffer defines the buffer to bind
|
|
* @param buffer defines the buffer to bind
|
|
*/
|
|
*/
|
|
- bindArrayBuffer(buffer: Nullable<WebGLBuffer>): void;
|
|
|
|
|
|
+ bindArrayBuffer(buffer: Nullable<DataBuffer>): void;
|
|
/**
|
|
/**
|
|
* Bind an uniform buffer to the current webGL context
|
|
* Bind an uniform buffer to the current webGL context
|
|
* @param buffer defines the buffer to bind
|
|
* @param buffer defines the buffer to bind
|
|
*/
|
|
*/
|
|
- bindUniformBuffer(buffer: Nullable<WebGLBuffer>): void;
|
|
|
|
|
|
+ bindUniformBuffer(buffer: Nullable<DataBuffer>): void;
|
|
/**
|
|
/**
|
|
* Bind a buffer to the current webGL context at a given location
|
|
* Bind a buffer to the current webGL context at a given location
|
|
* @param buffer defines the buffer to bind
|
|
* @param buffer defines the buffer to bind
|
|
* @param location defines the index where to bind the buffer
|
|
* @param location defines the index where to bind the buffer
|
|
*/
|
|
*/
|
|
- bindUniformBufferBase(buffer: WebGLBuffer, location: number): void;
|
|
|
|
|
|
+ bindUniformBufferBase(buffer: DataBuffer, location: number): void;
|
|
/**
|
|
/**
|
|
* Bind a specific block at a given index in a specific shader program
|
|
* Bind a specific block at a given index in a specific shader program
|
|
- * @param shaderProgram defines the shader program
|
|
|
|
|
|
+ * @param pipelineContext defines the pipeline context to use
|
|
* @param blockName defines the block name
|
|
* @param blockName defines the block name
|
|
* @param index defines the index where to bind the block
|
|
* @param index defines the index where to bind the block
|
|
*/
|
|
*/
|
|
- bindUniformBlock(shaderProgram: WebGLProgram, blockName: string, index: number): void;
|
|
|
|
|
|
+ bindUniformBlock(pipelineContext: IPipelineContext, blockName: string, index: number): void;
|
|
private bindIndexBuffer;
|
|
private bindIndexBuffer;
|
|
private bindBuffer;
|
|
private bindBuffer;
|
|
/**
|
|
/**
|
|
@@ -27597,14 +27660,14 @@ declare module BABYLON {
|
|
*/
|
|
*/
|
|
recordVertexArrayObject(vertexBuffers: {
|
|
recordVertexArrayObject(vertexBuffers: {
|
|
[key: string]: VertexBuffer;
|
|
[key: string]: VertexBuffer;
|
|
- }, indexBuffer: Nullable<WebGLBuffer>, effect: Effect): WebGLVertexArrayObject;
|
|
|
|
|
|
+ }, indexBuffer: Nullable<DataBuffer>, effect: Effect): WebGLVertexArrayObject;
|
|
/**
|
|
/**
|
|
* Bind a specific vertex array object
|
|
* Bind a specific vertex array object
|
|
* @see http://doc.babylonjs.com/features/webgl2#vertex-array-objects
|
|
* @see http://doc.babylonjs.com/features/webgl2#vertex-array-objects
|
|
* @param vertexArrayObject defines the vertex array object to bind
|
|
* @param vertexArrayObject defines the vertex array object to bind
|
|
* @param indexBuffer defines the index buffer to bind
|
|
* @param indexBuffer defines the index buffer to bind
|
|
*/
|
|
*/
|
|
- bindVertexArrayObject(vertexArrayObject: WebGLVertexArrayObject, indexBuffer: Nullable<WebGLBuffer>): void;
|
|
|
|
|
|
+ bindVertexArrayObject(vertexArrayObject: WebGLVertexArrayObject, indexBuffer: Nullable<DataBuffer>): void;
|
|
/**
|
|
/**
|
|
* Bind webGl buffers directly to the webGL context
|
|
* Bind webGl buffers directly to the webGL context
|
|
* @param vertexBuffer defines the vertex buffer to bind
|
|
* @param vertexBuffer defines the vertex buffer to bind
|
|
@@ -27613,7 +27676,7 @@ declare module BABYLON {
|
|
* @param vertexStrideSize defines the vertex stride of the vertex buffer
|
|
* @param vertexStrideSize defines the vertex stride of the vertex buffer
|
|
* @param effect defines the effect associated with the vertex buffer
|
|
* @param effect defines the effect associated with the vertex buffer
|
|
*/
|
|
*/
|
|
- bindBuffersDirectly(vertexBuffer: WebGLBuffer, indexBuffer: WebGLBuffer, vertexDeclaration: number[], vertexStrideSize: number, effect: Effect): void;
|
|
|
|
|
|
+ bindBuffersDirectly(vertexBuffer: DataBuffer, indexBuffer: DataBuffer, vertexDeclaration: number[], vertexStrideSize: number, effect: Effect): void;
|
|
private _unbindVertexArrayObject;
|
|
private _unbindVertexArrayObject;
|
|
/**
|
|
/**
|
|
* Bind a list of vertex buffers to the webGL context
|
|
* Bind a list of vertex buffers to the webGL context
|
|
@@ -27623,7 +27686,7 @@ declare module BABYLON {
|
|
*/
|
|
*/
|
|
bindBuffers(vertexBuffers: {
|
|
bindBuffers(vertexBuffers: {
|
|
[key: string]: Nullable<VertexBuffer>;
|
|
[key: string]: Nullable<VertexBuffer>;
|
|
- }, indexBuffer: Nullable<WebGLBuffer>, effect: Effect): void;
|
|
|
|
|
|
+ }, indexBuffer: Nullable<DataBuffer>, effect: Effect): void;
|
|
/**
|
|
/**
|
|
* Unbind all instance attributes
|
|
* Unbind all instance attributes
|
|
*/
|
|
*/
|
|
@@ -27633,13 +27696,13 @@ declare module BABYLON {
|
|
* @param vao defines the vertex array object to delete
|
|
* @param vao defines the vertex array object to delete
|
|
*/
|
|
*/
|
|
releaseVertexArrayObject(vao: WebGLVertexArrayObject): void;
|
|
releaseVertexArrayObject(vao: WebGLVertexArrayObject): void;
|
|
- /** @hidden */
releaseBuffer(buffer: WebGLBuffer): boolean;
|
|
|
|
|
|
+ /** @hidden */
releaseBuffer(buffer: DataBuffer): boolean;
|
|
/**
|
|
/**
|
|
* Creates a webGL buffer to use with instanciation
|
|
* Creates a webGL buffer to use with instanciation
|
|
* @param capacity defines the size of the buffer
|
|
* @param capacity defines the size of the buffer
|
|
* @returns the webGL buffer
|
|
* @returns the webGL buffer
|
|
*/
|
|
*/
|
|
- createInstancesBuffer(capacity: number): WebGLBuffer;
|
|
|
|
|
|
+ createInstancesBuffer(capacity: number): DataBuffer;
|
|
/**
|
|
/**
|
|
* Delete a webGL buffer used with instanciation
|
|
* Delete a webGL buffer used with instanciation
|
|
* @param buffer defines the webGL buffer to delete
|
|
* @param buffer defines the webGL buffer to delete
|
|
@@ -27651,7 +27714,7 @@ declare module BABYLON {
|
|
* @param data defines the data to store in the buffer
|
|
* @param data defines the data to store in the buffer
|
|
* @param offsetLocations defines the offsets or attributes information used to determine where data must be stored in the buffer
|
|
* @param offsetLocations defines the offsets or attributes information used to determine where data must be stored in the buffer
|
|
*/
|
|
*/
|
|
- updateAndBindInstancesBuffer(instancesBuffer: WebGLBuffer, data: Float32Array, offsetLocations: number[] | InstancingAttributeInfo[]): void;
|
|
|
|
|
|
+ updateAndBindInstancesBuffer(instancesBuffer: DataBuffer, data: Float32Array, offsetLocations: number[] | InstancingAttributeInfo[]): void;
|
|
/**
|
|
/**
|
|
* Apply all cached states (depth, culling, stencil and alpha)
|
|
* Apply all cached states (depth, culling, stencil and alpha)
|
|
*/
|
|
*/
|
|
@@ -27697,7 +27760,7 @@ declare module BABYLON {
|
|
drawArraysType(fillMode: number, verticesStart: number, verticesCount: number, instancesCount?: number): void;
|
|
drawArraysType(fillMode: number, verticesStart: number, verticesCount: number, instancesCount?: number): void;
|
|
private _drawMode;
|
|
private _drawMode;
|
|
/** @hidden */
releaseEffect(effect: Effect): void;
|
|
/** @hidden */
releaseEffect(effect: Effect): void;
|
|
- /** @hidden */
deleteProgram(program: WebGLProgram): void;
|
|
|
|
|
|
+ /** @hidden */
deletePipelineContext(pipelineContext: IPipelineContext): void;
|
|
/**
|
|
/**
|
|
* Create a new effect (used to store vertex/fragment shaders)
|
|
* Create a new effect (used to store vertex/fragment shaders)
|
|
* @param baseName defines the base name of the effect (The name of file without .fragment.fx or .vertex.fx)
|
|
* @param baseName defines the base name of the effect (The name of file without .fragment.fx or .vertex.fx)
|
|
@@ -27716,15 +27779,17 @@ declare module BABYLON {
|
|
private _compileRawShader;
|
|
private _compileRawShader;
|
|
/**
|
|
/**
|
|
* Directly creates a webGL program
|
|
* Directly creates a webGL program
|
|
|
|
+ * @param pipelineContext defines the pipeline context to attach to
|
|
* @param vertexCode defines the vertex shader code to use
|
|
* @param vertexCode defines the vertex shader code to use
|
|
* @param fragmentCode defines the fragment shader code to use
|
|
* @param fragmentCode defines the fragment shader code to use
|
|
* @param context defines the webGL context to use (if not set, the current one will be used)
|
|
* @param context defines the webGL context to use (if not set, the current one will be used)
|
|
* @param transformFeedbackVaryings defines the list of transform feedback varyings to use
|
|
* @param transformFeedbackVaryings defines the list of transform feedback varyings to use
|
|
* @returns the new webGL program
|
|
* @returns the new webGL program
|
|
*/
|
|
*/
|
|
- createRawShaderProgram(vertexCode: string, fragmentCode: string, context?: WebGLRenderingContext, transformFeedbackVaryings?: Nullable<string[]>): WebGLProgram;
|
|
|
|
|
|
+ createRawShaderProgram(pipelineContext: IPipelineContext, vertexCode: string, fragmentCode: string, context?: WebGLRenderingContext, transformFeedbackVaryings?: Nullable<string[]>): WebGLProgram;
|
|
/**
|
|
/**
|
|
* Creates a webGL program
|
|
* Creates a webGL program
|
|
|
|
+ * @param pipelineContext defines the pipeline context to attach to
|
|
* @param vertexCode defines the vertex shader code to use
|
|
* @param vertexCode defines the vertex shader code to use
|
|
* @param fragmentCode defines the fragment shader code to use
|
|
* @param fragmentCode defines the fragment shader code to use
|
|
* @param defines defines the string containing the defines to use to compile the shaders
|
|
* @param defines defines the string containing the defines to use to compile the shaders
|
|
@@ -27732,25 +27797,31 @@ declare module BABYLON {
|
|
* @param transformFeedbackVaryings defines the list of transform feedback varyings to use
|
|
* @param transformFeedbackVaryings defines the list of transform feedback varyings to use
|
|
* @returns the new webGL program
|
|
* @returns the new webGL program
|
|
*/
|
|
*/
|
|
- createShaderProgram(vertexCode: string, fragmentCode: string, defines: Nullable<string>, context?: WebGLRenderingContext, transformFeedbackVaryings?: Nullable<string[]>): WebGLProgram;
|
|
|
|
|
|
+ createShaderProgram(pipelineContext: IPipelineContext, vertexCode: string, fragmentCode: string, defines: Nullable<string>, context?: WebGLRenderingContext, transformFeedbackVaryings?: Nullable<string[]>): WebGLProgram;
|
|
|
|
+ /**
|
|
|
|
+ * Creates a new pipeline context
|
|
|
|
+ * @returns the new pipeline
|
|
|
|
+ */
|
|
|
|
+ createPipelineContext(): WebGLPipelineContext;
|
|
private _createShaderProgram;
|
|
private _createShaderProgram;
|
|
- private _finalizeProgram;
|
|
|
|
- /** @hidden */
isProgramCompiled(shaderProgram: WebGLProgram): boolean;
|
|
|
|
- /** @hidden */
executeWhenProgramIsCompiled(shaderProgram: WebGLProgram, action: () => void): void;
|
|
|
|
|
|
+ private _finalizePipelineContext;
|
|
|
|
+ /** @hidden */
preparePipelineContext(pipelineContext: IPipelineContext, vertexSourceCode: string, fragmentSourceCode: string, createAsRaw: boolean, rebuildRebind: any, defines: Nullable<string>, transformFeedbackVaryings: Nullable<string[]>): void;
|
|
|
|
+ /** @hidden */
isRenderingStateCompiled(pipelineContext: IPipelineContext): boolean;
|
|
|
|
+ /** @hidden */
executeWhenRenderingStateIsCompiled(pipelineContext: IPipelineContext, action: () => void): void;
|
|
/**
|
|
/**
|
|
* Gets the list of webGL uniform locations associated with a specific program based on a list of uniform names
|
|
* Gets the list of webGL uniform locations associated with a specific program based on a list of uniform names
|
|
- * @param shaderProgram defines the webGL program to use
|
|
|
|
|
|
+ * @param pipelineContext defines the pipeline context to use
|
|
* @param uniformsNames defines the list of uniform names
|
|
* @param uniformsNames defines the list of uniform names
|
|
* @returns an array of webGL uniform locations
|
|
* @returns an array of webGL uniform locations
|
|
*/
|
|
*/
|
|
- getUniforms(shaderProgram: WebGLProgram, uniformsNames: string[]): Nullable<WebGLUniformLocation>[];
|
|
|
|
|
|
+ getUniforms(pipelineContext: IPipelineContext, uniformsNames: string[]): Nullable<WebGLUniformLocation>[];
|
|
/**
|
|
/**
|
|
* Gets the lsit of active attributes for a given webGL program
|
|
* Gets the lsit of active attributes for a given webGL program
|
|
- * @param shaderProgram defines the webGL program to use
|
|
|
|
|
|
+ * @param pipelineContext defines the pipeline context to use
|
|
* @param attributesNames defines the list of attribute names to get
|
|
* @param attributesNames defines the list of attribute names to get
|
|
* @returns an array of indices indicating the offset of each attribute
|
|
* @returns an array of indices indicating the offset of each attribute
|
|
*/
|
|
*/
|
|
- getAttributes(shaderProgram: WebGLProgram, attributesNames: string[]): number[];
|
|
|
|
|
|
+ getAttributes(pipelineContext: IPipelineContext, attributesNames: string[]): number[];
|
|
/**
|
|
/**
|
|
* Activates an effect, mkaing it the current one (ie. the one used for rendering)
|
|
* Activates an effect, mkaing it the current one (ie. the one used for rendering)
|
|
* @param effect defines the effect to activate
|
|
* @param effect defines the effect to activate
|
|
@@ -28491,7 +28562,7 @@ declare module BABYLON {
|
|
/**
|
|
/**
|
|
* Compiled shader to webGL program.
|
|
* Compiled shader to webGL program.
|
|
* @hidden
|
|
* @hidden
|
|
- */
program: WebGLProgram;
|
|
|
|
|
|
+ */
pipelineContext: IPipelineContext;
|
|
private _valueCache;
|
|
private _valueCache;
|
|
private static _baseCache;
|
|
private static _baseCache;
|
|
/**
|
|
/**
|
|
@@ -28524,10 +28595,10 @@ declare module BABYLON {
|
|
*/
|
|
*/
|
|
getEngine(): Engine;
|
|
getEngine(): Engine;
|
|
/**
|
|
/**
|
|
- * The compiled webGL program for the effect
|
|
|
|
- * @returns the webGL program.
|
|
|
|
|
|
+ * The pipeline context for this effect
|
|
|
|
+ * @returns the associated pipeline context
|
|
*/
|
|
*/
|
|
- getProgram(): WebGLProgram;
|
|
|
|
|
|
+ getPipelineContext(): IPipelineContext;
|
|
/**
|
|
/**
|
|
* The set of names of attribute variables for the shader.
|
|
* The set of names of attribute variables for the shader.
|
|
* @returns An array of attribute names.
|
|
* @returns An array of attribute names.
|
|
@@ -28591,13 +28662,7 @@ declare module BABYLON {
|
|
* @param onCompiled Callback called when completed.
|
|
* @param onCompiled Callback called when completed.
|
|
* @param onError Callback called on error.
|
|
* @param onError Callback called on error.
|
|
* @hidden
|
|
* @hidden
|
|
- */
rebuildProgram(vertexSourceCode: string, fragmentSourceCode: string, onCompiled: (program: WebGLProgram) => void, onError: (message: string) => void): void;
|
|
|
|
- /**
|
|
|
|
- * Gets the uniform locations of the the specified variable names
|
|
|
|
- * @param names THe names of the variables to lookup.
|
|
|
|
- * @returns Array of locations in the same order as variable names.
|
|
|
|
- */
|
|
|
|
- getSpecificUniformLocations(names: string[]): Nullable<WebGLUniformLocation>[];
|
|
|
|
|
|
+ */
rebuildProgram(vertexSourceCode: string, fragmentSourceCode: string, onCompiled: (pipelineContext: IPipelineContext) => void, onError: (message: string) => void): void;
|
|
/**
|
|
/**
|
|
* Prepares the effect
|
|
* Prepares the effect
|
|
* @hidden
|
|
* @hidden
|
|
@@ -28652,7 +28717,7 @@ declare module BABYLON {
|
|
* @param buffer Buffer to bind.
|
|
* @param buffer Buffer to bind.
|
|
* @param name Name of the uniform variable to bind to.
|
|
* @param name Name of the uniform variable to bind to.
|
|
*/
|
|
*/
|
|
- bindUniformBuffer(buffer: WebGLBuffer, name: string): void;
|
|
|
|
|
|
+ bindUniformBuffer(buffer: DataBuffer, name: string): void;
|
|
/**
|
|
/**
|
|
* Binds block to a uniform.
|
|
* Binds block to a uniform.
|
|
* @param blockName Name of the block to bind.
|
|
* @param blockName Name of the block to bind.
|
|
@@ -40467,15 +40532,15 @@ declare module BABYLON {
|
|
*/
|
|
*/
|
|
getHardwareScalingLevel(): number;
|
|
getHardwareScalingLevel(): number;
|
|
constructor(options?: NullEngineOptions);
|
|
constructor(options?: NullEngineOptions);
|
|
- createVertexBuffer(vertices: FloatArray): WebGLBuffer;
|
|
|
|
- createIndexBuffer(indices: IndicesArray): WebGLBuffer;
|
|
|
|
|
|
+ createVertexBuffer(vertices: FloatArray): DataBuffer;
|
|
|
|
+ createIndexBuffer(indices: IndicesArray): DataBuffer;
|
|
clear(color: Color4, backBuffer: boolean, depth: boolean, stencil?: boolean): void;
|
|
clear(color: Color4, backBuffer: boolean, depth: boolean, stencil?: boolean): void;
|
|
getRenderWidth(useScreen?: boolean): number;
|
|
getRenderWidth(useScreen?: boolean): number;
|
|
getRenderHeight(useScreen?: boolean): number;
|
|
getRenderHeight(useScreen?: boolean): number;
|
|
setViewport(viewport: Viewport, requiredWidth?: number, requiredHeight?: number): void;
|
|
setViewport(viewport: Viewport, requiredWidth?: number, requiredHeight?: number): void;
|
|
- createShaderProgram(vertexCode: string, fragmentCode: string, defines: string, context?: WebGLRenderingContext): WebGLProgram;
|
|
|
|
- getUniforms(shaderProgram: WebGLProgram, uniformsNames: string[]): WebGLUniformLocation[];
|
|
|
|
- getAttributes(shaderProgram: WebGLProgram, attributesNames: string[]): number[];
|
|
|
|
|
|
+ createShaderProgram(pipelineContext: IPipelineContext, vertexCode: string, fragmentCode: string, defines: string, context?: WebGLRenderingContext): WebGLProgram;
|
|
|
|
+ getUniforms(pipelineContext: IPipelineContext, uniformsNames: string[]): Nullable<WebGLUniformLocation>[];
|
|
|
|
+ getAttributes(pipelineContext: IPipelineContext, attributesNames: string[]): number[];
|
|
bindSamplers(effect: Effect): void;
|
|
bindSamplers(effect: Effect): void;
|
|
enableEffect(effect: Effect): void;
|
|
enableEffect(effect: Effect): void;
|
|
setState(culling: boolean, zOffset?: number, force?: boolean, reverseSide?: boolean): void;
|
|
setState(culling: boolean, zOffset?: number, force?: boolean, reverseSide?: boolean): void;
|
|
@@ -40505,7 +40570,7 @@ declare module BABYLON {
|
|
setAlphaMode(mode: number, noDepthWriteChange?: boolean): void;
|
|
setAlphaMode(mode: number, noDepthWriteChange?: boolean): void;
|
|
bindBuffers(vertexBuffers: {
|
|
bindBuffers(vertexBuffers: {
|
|
[key: string]: VertexBuffer;
|
|
[key: string]: VertexBuffer;
|
|
- }, indexBuffer: WebGLBuffer, effect: Effect): void;
|
|
|
|
|
|
+ }, indexBuffer: DataBuffer, effect: Effect): void;
|
|
wipeCaches(bruteForce?: boolean): void;
|
|
wipeCaches(bruteForce?: boolean): void;
|
|
draw(useTriangles: boolean, indexStart: number, indexCount: number, instancesCount?: number): void;
|
|
draw(useTriangles: boolean, indexStart: number, indexCount: number, instancesCount?: number): void;
|
|
drawElementsType(fillMode: number, indexStart: number, indexCount: number, instancesCount?: number): void;
|
|
drawElementsType(fillMode: number, indexStart: number, indexCount: number, instancesCount?: number): void;
|
|
@@ -40517,7 +40582,7 @@ declare module BABYLON {
|
|
updateTextureSamplingMode(samplingMode: number, texture: InternalTexture): void;
|
|
updateTextureSamplingMode(samplingMode: number, texture: InternalTexture): void;
|
|
bindFramebuffer(texture: InternalTexture, faceIndex?: number, requiredWidth?: number, requiredHeight?: number, forceFullscreenViewport?: boolean): void;
|
|
bindFramebuffer(texture: InternalTexture, faceIndex?: number, requiredWidth?: number, requiredHeight?: number, forceFullscreenViewport?: boolean): void;
|
|
unBindFramebuffer(texture: InternalTexture, disableGenerateMipMaps?: boolean, onBeforeUnbind?: () => void): void;
|
|
unBindFramebuffer(texture: InternalTexture, disableGenerateMipMaps?: boolean, onBeforeUnbind?: () => void): void;
|
|
- createDynamicVertexBuffer(vertices: FloatArray): WebGLBuffer;
|
|
|
|
|
|
+ createDynamicVertexBuffer(vertices: FloatArray): DataBuffer;
|
|
updateDynamicTexture(texture: Nullable<InternalTexture>, canvas: HTMLCanvasElement, invertY: boolean, premulAlpha?: boolean, format?: number): void;
|
|
updateDynamicTexture(texture: Nullable<InternalTexture>, canvas: HTMLCanvasElement, invertY: boolean, premulAlpha?: boolean, format?: number): void;
|
|
areAllEffectsReady(): boolean;
|
|
areAllEffectsReady(): boolean;
|
|
/**
|
|
/**
|
|
@@ -40539,7 +40604,7 @@ declare module BABYLON {
|
|
*/
|
|
*/
|
|
updateDynamicVertexBuffer(vertexBuffer: WebGLBuffer, vertices: FloatArray, byteOffset?: number, byteLength?: number): void;
bindTextureDirectly(target: number, texture: InternalTexture): boolean;
|
|
updateDynamicVertexBuffer(vertexBuffer: WebGLBuffer, vertices: FloatArray, byteOffset?: number, byteLength?: number): void;
bindTextureDirectly(target: number, texture: InternalTexture): boolean;
|
|
/** @hidden */
bindTexture(channel: number, texture: InternalTexture): void;
|
|
/** @hidden */
bindTexture(channel: number, texture: InternalTexture): void;
|
|
- /** @hidden */
releaseBuffer(buffer: WebGLBuffer): boolean;
|
|
|
|
|
|
+ /** @hidden */
releaseBuffer(buffer: DataBuffer): boolean;
|
|
releaseEffects(): void;
|
|
releaseEffects(): void;
|
|
displayLoadingUI(): void;
|
|
displayLoadingUI(): void;
|
|
hideLoadingUI(): void;
|
|
hideLoadingUI(): void;
|
|
@@ -51361,7 +51426,7 @@ declare module BABYLON {
|
|
* @hidden
|
|
* @hidden
|
|
*/
attachCameras(cameras: Camera[]): void;
|
|
*/
attachCameras(cameras: Camera[]): void;
|
|
/**
|
|
/**
|
|
- * Detatches the effect on cameras
|
|
|
|
|
|
+ * Detaches the effect on cameras
|
|
* @param cameras The camera to detatch from.
|
|
* @param cameras The camera to detatch from.
|
|
* @hidden
|
|
* @hidden
|
|
*/
detachCameras(cameras: Camera): void;
|
|
*/
detachCameras(cameras: Camera): void;
|
|
@@ -51830,6 +51895,11 @@ declare module BABYLON {
|
|
*/
|
|
*/
|
|
constructor(scene: Scene, depthTexture: Nullable<RenderTargetTexture>, blurLevel?: DepthOfFieldEffectBlurLevel, pipelineTextureType?: number, blockCompilation?: boolean);
|
|
constructor(scene: Scene, depthTexture: Nullable<RenderTargetTexture>, blurLevel?: DepthOfFieldEffectBlurLevel, pipelineTextureType?: number, blockCompilation?: boolean);
|
|
/**
|
|
/**
|
|
|
|
+ * Get the current class name of the current effet
|
|
|
|
+ * @returns "DepthOfFieldEffect"
|
|
|
|
+ */
|
|
|
|
+ getClassName(): string;
|
|
|
|
+ /**
|
|
* Depth texture to be used to compute the circle of confusion. This must be set here or in the constructor in order for the post process to function.
|
|
* Depth texture to be used to compute the circle of confusion. This must be set here or in the constructor in order for the post process to function.
|
|
*/
|
|
*/
|
|
depthTexture: RenderTargetTexture;
|
|
depthTexture: RenderTargetTexture;
|
|
@@ -55639,13 +55709,6 @@ interface Math {
|
|
fround(x: number): number;
|
|
fround(x: number): number;
|
|
imul(a: number, b: number): number;
|
|
imul(a: number, b: number): number;
|
|
}
|
|
}
|
|
-interface WebGLProgram {
|
|
|
|
- context?: WebGLRenderingContext;
|
|
|
|
- vertexShader?: WebGLShader;
|
|
|
|
- fragmentShader?: WebGLShader;
|
|
|
|
- isParallelCompiled: boolean;
|
|
|
|
- onCompiled?: () => void;
|
|
|
|
-}
|
|
|
|
interface WebGLRenderingContext {
|
|
interface WebGLRenderingContext {
|
|
drawArraysInstanced(mode: number, first: number, count: number, primcount: number): void;
|
|
drawArraysInstanced(mode: number, first: number, count: number, primcount: number): void;
|
|
drawElementsInstanced(mode: number, count: number, type: number, offset: number, primcount: number): void;
|
|
drawElementsInstanced(mode: number, count: number, type: number, offset: number, primcount: number): void;
|
|
@@ -55698,13 +55761,7 @@ interface WebGLRenderingContext {
|
|
QUERY_RESULT_AVAILABLE: number;
|
|
QUERY_RESULT_AVAILABLE: number;
|
|
QUERY_RESULT: number;
|
|
QUERY_RESULT: number;
|
|
}
|
|
}
|
|
-interface WebGLBuffer {
|
|
|
|
- references: number;
|
|
|
|
- capacity: number;
|
|
|
|
- is32Bits: boolean;
|
|
|
|
-}
|
|
|
|
-interface WebGLProgram {
|
|
|
|
- transformFeedback?: WebGLTransformFeedback | null;
private _SPECTOR_rebuildProgram?: ((vertexSourceCode: string, fragmentSourceCode: string, onCompiled: (program: WebGLProgram) => void, onError: (message: string) => void) => void) | null;
|
|
|
|
|
|
+interface WebGLProgram {
private _SPECTOR_rebuildProgram?: ((vertexSourceCode: string, fragmentSourceCode: string, onCompiled: (program: WebGLProgram) => void, onError: (message: string) => void) => void) | null;
|
|
}
|
|
}
|
|
interface EXT_disjoint_timer_query {
|
|
interface EXT_disjoint_timer_query {
|
|
QUERY_COUNTER_BITS_EXT: number;
|
|
QUERY_COUNTER_BITS_EXT: number;
|