mirror of
https://github.com/X0nk/Bliss-Shader.git
synced 2025-06-22 00:37:35 +08:00
floodfill add buffer qualifiers, use image sampler
This commit is contained in:
7
shaders/lib/lpv_buffer.glsl
Normal file
7
shaders/lib/lpv_buffer.glsl
Normal file
@ -0,0 +1,7 @@
|
||||
#ifdef RENDER_SHADOWCOMP
|
||||
layout(rgba8) uniform restrict image3D imgLpv1;
|
||||
layout(rgba8) uniform restrict image3D imgLpv2;
|
||||
#else
|
||||
layout(rgba8) uniform readonly image3D imgLpv1;
|
||||
layout(rgba8) uniform readonly image3D imgLpv2;
|
||||
#endif
|
@ -1,6 +1,3 @@
|
||||
layout(rgba8) uniform image3D imgLpv1;
|
||||
layout(rgba8) uniform image3D imgLpv2;
|
||||
|
||||
// How far light propagates (block, sky)
|
||||
const vec2 LpvBlockSkyRange = vec2(15.0, 24.0);
|
||||
|
||||
|
@ -7,8 +7,8 @@ const float LpvBlockBrightness = 2.0;
|
||||
|
||||
vec4 SampleLpvNearest(const in ivec3 lpvPos) {
|
||||
vec4 lpvSample = (frameCounter % 2) == 0
|
||||
? imageLoad(imgLpv1, lpvPos)
|
||||
: imageLoad(imgLpv2, lpvPos);
|
||||
? texelFetch(texLpv1, lpvPos, 0)
|
||||
: texelFetch(texLpv2, lpvPos, 0);
|
||||
|
||||
lpvSample.b = pow(lpvSample.b, LpvBlockPower) * LpvBlockSkyRange.x;
|
||||
lpvSample.rgb = HsvToRgb(lpvSample.rgb);
|
||||
|
@ -1,4 +1,8 @@
|
||||
layout(r16ui) uniform uimage3D imgVoxelMask;
|
||||
#ifdef RENDER_SHADOW
|
||||
layout(r16ui) uniform uimage3D imgVoxelMask;
|
||||
#else
|
||||
layout(r16ui) uniform readonly uimage3D imgVoxelMask;
|
||||
#endif
|
||||
|
||||
const uint VoxelSize = uint(exp2(LPV_SIZE));
|
||||
const uvec3 VoxelSize3 = uvec3(VoxelSize);
|
||||
|
Reference in New Issue
Block a user