From 5657018a98e3a3a688da6135e4c87e0f3c29a6b9 Mon Sep 17 00:00:00 2001 From: mcrcortex <18544518+MCRcortex@users.noreply.github.com> Date: Thu, 11 Sep 2025 22:05:46 +1000 Subject: [PATCH] a --- .../assets/voxy/shaders/lod/meshext/frag.glsl | 34 ++++++++++++++++++- .../assets/voxy/shaders/lod/meshext/mesh.glsl | 20 +++++++++-- .../assets/voxy/shaders/lod/meshext/task.glsl | 11 +++--- 3 files changed, 56 insertions(+), 9 deletions(-) diff --git a/src/main/resources/assets/voxy/shaders/lod/meshext/frag.glsl b/src/main/resources/assets/voxy/shaders/lod/meshext/frag.glsl index 0398bdb1..85c45dcf 100644 --- a/src/main/resources/assets/voxy/shaders/lod/meshext/frag.glsl +++ b/src/main/resources/assets/voxy/shaders/lod/meshext/frag.glsl @@ -7,6 +7,7 @@ layout(binding = 2) uniform sampler2D depthTex; layout(location=1) perprimitiveEXT in PerPrimData { uvec4 data; + uvec4 padd; } primIn; layout(location = 0) out vec4 outColour; @@ -49,6 +50,29 @@ vec2 getBaseUV() { void main() { + if (all(equal(primIn.data, uvec4(0)).yzw)) { + outColour = vec4(0,1,0,0); + } else { + if (all(equal(primIn.data, uvec4(1)).yzw)) { + outColour = vec4(1, 0, 1, 0); + } else { + outColour = vec4(primIn.data%256)/255; + return; + } + } + uint quadDebug = primIn.data.x; + uint hash = quadDebug; + if (hash != 0) { + hash = hash*1231421+123141; + hash ^= hash>>16; + hash = hash*1231421+123141; + hash ^= hash>>16; + hash = hash * 1827364925 + 123325621; + } + outColour = vec4(float(hash&15u)/15, float((hash>>4)&15u)/15, float((hash>>8)&15u)/15, 0); + + return; + vec2 uv = vec2(0); //Tile is the tile we are in @@ -85,6 +109,14 @@ void main() { } colour = computeColour(colour); - outColour = colour; + + /* + uint quadDebug = gl_PrimitiveID; + uint hash = quadDebug*1231421+123141; + hash ^= hash>>16; + hash = hash*1231421+123141; + hash ^= hash>>16; + hash = hash * 1827364925 + 123325621; + outColour = vec4(float(hash&15u)/15, float((hash>>4)&15u)/15, float((hash>>8)&15u)/15, 1);*/ } \ No newline at end of file diff --git a/src/main/resources/assets/voxy/shaders/lod/meshext/mesh.glsl b/src/main/resources/assets/voxy/shaders/lod/meshext/mesh.glsl index 83484c77..f097cb28 100644 --- a/src/main/resources/assets/voxy/shaders/lod/meshext/mesh.glsl +++ b/src/main/resources/assets/voxy/shaders/lod/meshext/mesh.glsl @@ -19,18 +19,19 @@ layout(triangles, max_vertices=(MESH_SIZE*4), max_primitives=(MESH_SIZE*2)) out; //uvec4 binB; struct Task { uint bins[8]; - vec3 cameraOffset; uint lodLvl; uint baseQuad; uint quadCount; + //uint padddd[64]; }; taskPayloadSharedEXT Task task; layout(location=1) perprimitiveEXT out PerPrimData { uvec4 data; + uvec4 padd; } primOut[]; @@ -273,6 +274,18 @@ layout(binding = STATISTICS_BUFFER_BINDING, std430) restrict buffer statisticsBu #endif void main() { + /* + if (task.quadCount == 0) { + SetMeshOutputsEXT(0,0); + return; + } + SetMeshOutputsEXT(0,0); + #ifdef HAS_STATISTICS + atomicAdd(quadCounts[task.quadCount%5], 1); + #endif + return; + */ + uint qid = uint(-1); Quad quad; if (gl_GlobalInvocationID.x