@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
83 lines • 2.58 kB
TypeScript
/**
*
* @param {WebGLRenderingContext|WebGL2RenderingContext} gl
* @param shader
* @param type
* @return {string}
*/
export function getShaderErrors(gl: WebGLRenderingContext | WebGL2RenderingContext, shader: any, type: any): string;
/**
* Fragment shader is there to satisfy requirement of 2 shaders to compile shader program in WebGL, in actuality it is unused
* @type {string}
*/
export const WRITE_WHITE_FRAGMENT_SHADER: string;
export class GLSLSimulationShader {
/**
* @param {NodeGraph} graph
* @param {ParticleAttributeSpecification[]} attributes
* @param {ParticleAttributeSpecification[]} uniforms
* @returns {GLSLSimulationShader}
*/
static from(graph: NodeGraph, attributes?: ParticleAttributeSpecification[], uniforms?: ParticleAttributeSpecification[]): GLSLSimulationShader;
/**
*
* @type {NodeGraph}
*/
graph: NodeGraph;
/**
*
* @type {FunctionModuleRegistry}
* @private
*/
private __function_registry;
__tf: TransformFeedback;
/**
*
* @param {FunctionModuleRegistry} function_registry
*/
setFunctionRegistry(function_registry: FunctionModuleRegistry): void;
/**
*
* @param {NodeGraph} graph
*/
setGraph(graph: NodeGraph): void;
/**
*
* @param {ParticleAttributeSpecification[]} attributes
*/
setAttributes(attributes: ParticleAttributeSpecification[]): void;
get attributes(): ParticleAttributeSpecification[];
/**
*
* @param {ParticleAttributeSpecification[]} attributes
*/
setUniforms(attributes: ParticleAttributeSpecification[]): void;
get uniforms(): ParticleAttributeSpecification[];
/**
*
* @return {String}
*/
getSourceCode(): string;
build(): void;
/**
*
* @param {Array} uniform_values
* @param {EmitterAttributeData} attributeSource
*/
execute(uniform_values: any[], attributeSource: EmitterAttributeData): void;
/**
* GL context uses it's own internal buffers that are not shared with JS context, because of this - it is necessary to copy data out
* @param {EmitterAttributeData} target
* @private
*/
private __copyFromOutput;
dispose(): void;
/**
*
* @param {WebGL2RenderingContext} gl
*/
compile(gl: WebGL2RenderingContext): void;
}
import { TransformFeedback } from "./TransformFeedback.js";
import { ParticleAttributeSpecification } from "../particle/ParticleAttributeSpecification.js";
//# sourceMappingURL=GLSLSimulationShader.d.ts.map