summaryrefslogtreecommitdiff
path: root/cnn_v3/shaders/gbuf_deferred.wgsl
diff options
context:
space:
mode:
Diffstat (limited to 'cnn_v3/shaders/gbuf_deferred.wgsl')
-rw-r--r--cnn_v3/shaders/gbuf_deferred.wgsl7
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);
}