UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

123 lines 2.81 kB
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