Funny very incorrect tinkering of culling

This commit is contained in:
mcrcortex
2024-11-01 17:28:30 +10:00
parent 7fa62375c6
commit a15978d1fb
3 changed files with 12 additions and 1 deletions

View File

@@ -6,6 +6,9 @@ package me.cortex.voxy.client.core.rendering.hierachical2;
public class NodeCleaner { public class NodeCleaner {
//Clears memory via invoking node manager, clear section or delete node
// these should take hint parameters on if when removing section data, to store it in section cache or leave
public void setNodeMemoryUsage() { public void setNodeMemoryUsage() {
//Needs to bubble up information to all parents //Needs to bubble up information to all parents
// also needs to update a tick/last seen time for node removal // also needs to update a tick/last seen time for node removal

View File

@@ -0,0 +1,5 @@
package me.cortex.voxy.client.core.shader;
//Mutates the frag shaders of the material, like a deferred material shader system
public class ShaderSystem {
}

View File

@@ -5,9 +5,12 @@ layout(location = 0) in vec2 uv;
layout(binding = 0) uniform sampler2D depthTex; layout(binding = 0) uniform sampler2D depthTex;
void main() { void main() {
vec4 depths = textureGather(depthTex, uv, 0); // Get depth values from all surrounding texels. vec4 depths = textureGather(depthTex, uv, 0); // Get depth values from all surrounding texels.
//TODO, do it so that for the first 2,3 levels if 1 (or maybe even 2 (on the first layer)) pixels are air, just ignore that
// this is to stop issues with 1 pixel gaps
bvec4 cv = lessThanEqual(vec4(0.99999999), depths); bvec4 cv = lessThanEqual(vec4(0.99999999), depths);
if (any(cv) && !all(cv)) { if (any(cv) && !all(cv)) {
depths = mix(vec4(0), depths, cv); depths = mix(vec4(1.0f), depths, cv);
} }
gl_FragDepth = max(max(depths.x, depths.y), max(depths.z, depths.w)); // Write conservative depth. gl_FragDepth = max(max(depths.x, depths.y), max(depths.z, depths.w)); // Write conservative depth.
} }