Files
Reimagined/shaderpacks/Reimagined - Low/shaders/lib/voxelization/SSBOs/clearSSBOs.glsl
T
2026-05-07 21:38:27 +03:00

35 lines
1.2 KiB
GLSL

#define SSBO_QUALIFIER
#if WORLD_SPACE_PLAYER_REF == 1
#include "/lib/voxelization/SSBOs/playerVerticesBuffer.glsl"
#endif
#include "/lib/voxelization/SSBOs/wsrBuffer.glsl"
#include "/lib/voxelization/SSBOs/wsrLodBuffer.glsl"
#if COLORED_LIGHTING < 512
const ivec3 sceneVoxelVolumeSize = ivec3(COLORED_LIGHTING_INTERNAL, 64, COLORED_LIGHTING_INTERNAL);
#else
const ivec3 sceneVoxelVolumeSize = ivec3(512, 64, 512);
#endif
void clearSSBOs() {
int pixelIndex = int(gl_FragCoord.x) + int(viewWidth) * int(gl_FragCoord.y);
int k = sceneVoxelVolumeSize.x * sceneVoxelVolumeSize.y * sceneVoxelVolumeSize.z / 32;
if (pixelIndex < k) {
if (pixelIndex < k / 64)
wsrLodSSBO.bitmasks[pixelIndex] = 0u;
wsrSSBO.bitmasks[pixelIndex] = 0u;
}
#if WORLD_SPACE_PLAYER_REF == 1
if (pixelIndex == 0) {
playerVerticesSSBO.bounds = playerBounds(ivec3(1e6), ivec3(-1e6), ivec3(1e6), ivec3(-1e6),
ivec3(1e6), ivec3(-1e6), ivec3(1e6), ivec3(-1e6),
ivec3(1e6), ivec3(-1e6), ivec3(1e6), ivec3(-1e6));
}
#endif
}