@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
123 lines • 2.81 kB
TypeScript
export class TransformFeedback {
/**
*
* @type {String}
* @private
*/
private __source;
/**
*
* @type {WebGLProgram}
* @private
*/
private __program;
/**
* Uniform location pointers from GL context. Order matches order of uniform specification array
* @type {number[]}
* @private
*/
private __uniform_locations;
/**
*
* @type {ParticleAttributeSpecification[]}
*/
attributes: ParticleAttributeSpecification[];
/**
* How much space does a single vertex require
* @type {number}
* @private
*/
private __attribute_byte_size;
/**
*
* @type {ParticleAttributeSpecification[]}
*/
uniforms: ParticleAttributeSpecification[];
/**
*
* @type {FunctionModuleRegistry}
* @private
*/
private __function_registry;
/**
*
* @type {WebGLTransformFeedback}
* @private
*/
private __transform_feedback;
/**
*
* @type {WebGL2RenderingContext}
* @private
*/
private __context;
/**
*
* @type {number}
* @private
*/
private __output_buffer_handle;
/**
*
* @type {number}
* @private
*/
private __output_buffer_size;
/**
*
* @return {String}
*/
getSourceCode(): string;
/**
* @param {string} source
*/
setSourceCode(source: string): void;
/**
*
* @param {ParticleAttributeSpecification[]} attributes
*/
setAttributes(attributes: ParticleAttributeSpecification[]): void;
/**
*
* @param {ParticleAttributeSpecification[]} attributes
*/
setUniforms(attributes: ParticleAttributeSpecification[]): void;
__updateAttributeByteSize(): void;
/**
*
* @param {EmitterAttributeData} attribute_source
* @private
*/
private __prepareOutputBuffer;
/**
*
* @param {Array} uniform_values
* @param {EmitterAttributeData} attributeSource
*/
execute(uniform_values: any[], attributeSource: EmitterAttributeData): void;
/**
*
* @param {string} name
* @return {number}
*/
getUniformIndexByName(name: string): number;
/**
*
* @private
*/
private __buildUniformPointers;
/**
* 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
*/
readOutput(target: EmitterAttributeData): void;
isCompiled(): boolean;
dispose(): void;
__outpub_buffer_handle: any;
/**
*
* @param {WebGL2RenderingContext} gl
*/
compile(gl: WebGL2RenderingContext): void;
}
//# sourceMappingURL=TransformFeedback.d.ts.map