/** * Point light shadow shader – renders linear depth into cube map faces. * * Unlike directional shadows (depth-only), point shadows need a fragment shader * to write linear depth (distance / far) via @builtin(frag_depth) for consistent * precision across all 6 cube faces. * * Group 0: object uniforms (reuses existing objectBGL) * Group 1: PointLightShadow { lightVP, lightPosAndFar } */ export declare const POINT_SHADOW_SHADER = "\nstruct ObjectUniforms {\n mvp: mat4x4,\n model: mat4x4,\n normalMatrix: mat4x4,\n};\n\nstruct PointLightShadow {\n lightVP: mat4x4,\n lightPosAndFar: vec4,\n};\n\n@group(0) @binding(0) var object: ObjectUniforms;\n@group(1) @binding(0) var shadow: PointLightShadow;\n\nstruct VsOut {\n @builtin(position) clipPos: vec4,\n @location(0) worldPos: vec3,\n};\n\n@vertex\nfn vs(@location(0) position: vec3) -> VsOut {\n let worldPos = (object.model * vec4(position, 1.0)).xyz;\n var out: VsOut;\n out.clipPos = shadow.lightVP * vec4(worldPos, 1.0);\n out.worldPos = worldPos;\n return out;\n}\n\nstruct FsOut {\n @builtin(frag_depth) depth: f32,\n};\n\n@fragment\nfn fs(@location(0) worldPos: vec3) -> FsOut {\n let dist = length(worldPos - shadow.lightPosAndFar.xyz);\n var out: FsOut;\n out.depth = dist / shadow.lightPosAndFar.w;\n return out;\n}\n"; //# sourceMappingURL=point-shadow-shader.d.ts.map