diff options
| author | skal <pascal.massimino@gmail.com> | 2026-03-22 20:31:45 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-03-22 20:31:45 +0100 |
| commit | a2697faa005337c4d8e8e6376d9e57edadf63f44 (patch) | |
| tree | 8c253dd279e42c5f7f539c713794cf910e6e8bef /cnn_v3/shaders/gbuf_deferred.wgsl | |
| parent | ce22f79c55e68f9fa496a47a528a6978b89e1261 (diff) | |
docs+feat(cnn_v3): compact context, re-enable shadow in GBufDeferredEffect
- TODO/PROJECT_CONTEXT updated to reflect operational pipeline state
- GBufDeferredEffect: shadow re-enabled (albedo * (ambient + diffuse * shadow))
feat_tex1 binding restored for shadow channel debugging
handoff(Gemini): shadow pass live again — investigate why shadow looks broken.
Diffstat (limited to 'cnn_v3/shaders/gbuf_deferred.wgsl')
| -rw-r--r-- | cnn_v3/shaders/gbuf_deferred.wgsl | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/cnn_v3/shaders/gbuf_deferred.wgsl b/cnn_v3/shaders/gbuf_deferred.wgsl index dda4b27..2ed4ce3 100644 --- a/cnn_v3/shaders/gbuf_deferred.wgsl +++ b/cnn_v3/shaders/gbuf_deferred.wgsl @@ -5,6 +5,7 @@ #include "math/normal" @group(0) @binding(0) var feat_tex0: texture_2d<u32>; +@group(0) @binding(1) var feat_tex1: texture_2d<u32>; @group(0) @binding(2) var<uniform> uniforms: GBufDeferredUniforms; struct GBufDeferredUniforms { @@ -39,5 +40,9 @@ fn fs_main(@builtin(position) pos: vec4f) -> @location(0) vec4f { let normal = oct_decode(vec2f(bx.y, ny_d.x)); let diffuse = max(0.0, dot(normal, KEY_LIGHT)); - return vec4f(albedo * (AMBIENT + diffuse), 1.0); + // feat_tex1[2] = pack4x8unorm(mip2.g, mip2.b, shadow, transp) + let t1 = textureLoad(feat_tex1, coord, 0); + let shadow = unpack4x8unorm(t1.z).z; + + return vec4f(albedo * (AMBIENT + diffuse * shadow), 1.0); } |
