@luma.gl/shadertools
Version:
Shader module system for luma.gl
40 lines • 2.53 kB
TypeScript
import type { Texture } from '@luma.gl/core';
import type { NumberArray2, NumberArray16 } from '@math.gl/core';
export type PBRSceneBindings = {
pbr_transmissionFramebufferSampler?: Texture | null;
};
export type PBRSceneUniforms = {
exposure?: number;
toneMapMode?: number;
environmentIntensity?: number;
environmentRotation?: number;
framebufferSize?: NumberArray2;
viewMatrix?: NumberArray16;
projectionMatrix?: NumberArray16;
};
export type PBRSceneProps = PBRSceneBindings & PBRSceneUniforms;
export declare const pbrScene: {
readonly name: "pbrScene";
readonly bindingLayout: readonly [{
readonly name: "pbrScene";
readonly group: 1;
}, {
readonly name: "pbr_transmissionFramebufferSampler";
readonly group: 1;
}];
readonly source: "struct pbrSceneUniforms {\n exposure: f32,\n toneMapMode: i32,\n environmentIntensity: f32,\n environmentRotation: f32,\n framebufferSize: vec2<f32>,\n viewMatrix: mat4x4<f32>,\n projectionMatrix: mat4x4<f32>\n};\n\n@group(1) @binding(auto) var<uniform> pbrScene: pbrSceneUniforms;\n\n#ifdef USE_TRANSMISSION_FRAMEBUFFER\n@group(1) @binding(auto) var pbr_transmissionFramebufferSampler: texture_2d<f32>;\n@group(1) @binding(auto) var pbr_transmissionFramebufferSamplerSampler: sampler;\n#endif\n";
readonly vs: "layout(std140) uniform pbrSceneUniforms {\n float exposure;\n int toneMapMode;\n float environmentIntensity;\n float environmentRotation;\n vec2 framebufferSize;\n mat4 viewMatrix;\n mat4 projectionMatrix;\n} pbrScene;\n\n#ifdef USE_TRANSMISSION_FRAMEBUFFER\nuniform sampler2D pbr_transmissionFramebufferSampler;\n#endif\n";
readonly fs: "layout(std140) uniform pbrSceneUniforms {\n float exposure;\n int toneMapMode;\n float environmentIntensity;\n float environmentRotation;\n vec2 framebufferSize;\n mat4 viewMatrix;\n mat4 projectionMatrix;\n} pbrScene;\n\n#ifdef USE_TRANSMISSION_FRAMEBUFFER\nuniform sampler2D pbr_transmissionFramebufferSampler;\n#endif\n";
readonly getUniforms: (props: PBRSceneProps) => PBRSceneProps;
readonly uniformTypes: {
readonly exposure: "f32";
readonly toneMapMode: "i32";
readonly environmentIntensity: "f32";
readonly environmentRotation: "f32";
readonly framebufferSize: "vec2<f32>";
readonly viewMatrix: "mat4x4<f32>";
readonly projectionMatrix: "mat4x4<f32>";
};
readonly defaultUniforms: Required<PBRSceneUniforms>;
};
//# sourceMappingURL=pbr-scene.d.ts.map