@absulit/points
Version:
A Generative Art library made in WebGPU
72 lines (70 loc) • 2.38 kB
TypeScript
export { RenderPass as default };
/**
* A RenderPass is a way to have a block of shaders to pass to your application pipeline and
* these render passes will be executed in the order you pass them in the {@link Points#init} method.
*
* @example
* import Points, { RenderPass } from 'points';
* // vert, frag and compute are strings with the wgsl shaders.
* let renderPasses = [
* new RenderPass(vert1, frag1, compute1),
* new RenderPass(vert2, frag2, compute2)
* ];
* // we pass the array of renderPasses
* await points.init(renderPasses);
*/
declare class RenderPass {
/**
* A collection of Vertex, Compute and Fragment shaders that represent a RenderPass.
* This is useful for PostProcessing.
* @param {String} vertexShader WGSL Vertex Shader in a String.
* @param {String} fragmentShader WGSL Fragment Shader in a String.
* @param {String} computeShader WGSL Compute Shader in a String.
*/
constructor(vertexShader: string, fragmentShader: string, computeShader: string, workgroupCountX: any, workgroupCountY: any, workgroupCountZ: any);
set internal(value: boolean);
/**
* To use with {link RenderPasses} so it's internal
* @ignore
*/
get internal(): boolean;
/**
* get the vertex shader content
*/
get vertexShader(): string;
/**
* get the compute shader content
*/
get computeShader(): string;
/**
* get the fragment shader content
*/
get fragmentShader(): string;
set computePipeline(value: any);
get computePipeline(): any;
set renderPipeline(value: any);
get renderPipeline(): any;
set computeBindGroup(value: any);
get computeBindGroup(): any;
set uniformBindGroup(value: any);
get uniformBindGroup(): any;
set bindGroupLayout(value: any);
get bindGroupLayout(): any;
set bindGroupLayoutCompute(value: any);
get bindGroupLayoutCompute(): any;
set entries(value: any);
get entries(): any;
get compiledShaders(): {
vertex: string;
compute: string;
fragment: string;
};
get hasComputeShader(): boolean;
get hasVertexShader(): boolean;
get hasFragmentShader(): boolean;
get hasVertexAndFragmentShader(): boolean;
get workgroupCountX(): any;
get workgroupCountY(): any;
get workgroupCountZ(): any;
#private;
}