diff --git a/leenkx/Shaders/voxel_temporal/voxel_temporal.comp.glsl b/leenkx/Shaders/voxel_temporal/voxel_temporal.comp.glsl index c62ca70..6c70b3b 100644 --- a/leenkx/Shaders/voxel_temporal/voxel_temporal.comp.glsl +++ b/leenkx/Shaders/voxel_temporal/voxel_temporal.comp.glsl @@ -46,15 +46,15 @@ uniform layout(r32ui) uimage3D voxels; uniform layout(r32ui) uimage3D voxelsLight; uniform layout(rgba8) image3D voxelsB; uniform layout(rgba8) image3D voxelsOut; -uniform layout(r16) image3D SDF; +uniform layout(r8) image3D SDF; #else #ifdef _VoxelAOvar #ifdef _VoxelShadow -uniform layout(r16) image3D SDF; +uniform layout(r8) image3D SDF; #endif uniform layout(r32ui) uimage3D voxels; -uniform layout(r16) image3D voxelsB; -uniform layout(r16) image3D voxelsOut; +uniform layout(r8) image3D voxelsB; +uniform layout(r8) image3D voxelsOut; #endif #endif @@ -80,7 +80,6 @@ void main() { light.r = float(imageLoad(voxelsLight, src)) / 255; light.g = float(imageLoad(voxelsLight, src + ivec3(0, 0, voxelgiResolution.x))) / 255; light.b = float(imageLoad(voxelsLight, src + ivec3(0, 0, voxelgiResolution.x * 2))) / 255; - light /= 3; #endif for (int i = 0; i < 6 + DIFFUSE_CONE_COUNT; i++) @@ -125,7 +124,7 @@ void main() { envl.g = float(imageLoad(voxels, src + ivec3(0, 0, voxelgiResolution.x * 10))) / 255; envl.b = float(imageLoad(voxels, src + ivec3(0, 0, voxelgiResolution.x * 11))) / 255; envl /= 3; - envl *= 100; + //clipmap to world vec3 wposition = (gl_GlobalInvocationID.xyz + 0.5) / voxelgiResolution.x; @@ -137,7 +136,7 @@ void main() { radiance = basecol; vec4 trace = traceDiffuse(wposition, wnormal, voxelsSampler, clipmaps); vec3 indirect = trace.rgb + envl.rgb * (1.0 - trace.a); - radiance.rgb *= light + indirect; + radiance.rgb *= light / PI + indirect; radiance.rgb += emission.rgb; #else