diff --git a/src/main/java/me/cortex/voxy/client/core/rendering/RenderService.java b/src/main/java/me/cortex/voxy/client/core/rendering/RenderService.java index b6fc2339..01b1c3a4 100644 --- a/src/main/java/me/cortex/voxy/client/core/rendering/RenderService.java +++ b/src/main/java/me/cortex/voxy/client/core/rendering/RenderService.java @@ -121,6 +121,13 @@ public class RenderService, J extends Vi this.sectionRenderer.renderOpaque(viewport, depthBoundTexture); TimingStatistics.G.stop(); + { + int depthBuffer = glGetFramebufferAttachmentParameteri(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME); + + //Compute the mip chain + viewport.hiZBuffer.buildMipChain(depthBuffer, viewport.width, viewport.height); + } + do { //NOTE: need to do the upload and download tick here, after the section renderer renders the world, to ensure "stable" // sections @@ -157,13 +164,8 @@ public class RenderService, J extends Vi glMemoryBarrier(GL_FRAMEBUFFER_BARRIER_BIT | GL_PIXEL_BUFFER_BARRIER_BIT); - int depthBuffer = glGetFramebufferAttachmentParameteri(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME); - //if (depthBuffer == 0) { - // depthBuffer = glGetFramebufferAttachmentParameteri(GL_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME); - //} - TimingStatistics.I.start(); - this.traversal.doTraversal(viewport, depthBuffer); + this.traversal.doTraversal(viewport); TimingStatistics.I.stop(); diff --git a/src/main/java/me/cortex/voxy/client/core/rendering/hierachical/HierarchicalOcclusionTraverser.java b/src/main/java/me/cortex/voxy/client/core/rendering/hierachical/HierarchicalOcclusionTraverser.java index 02a4e779..e2ab3152 100644 --- a/src/main/java/me/cortex/voxy/client/core/rendering/hierachical/HierarchicalOcclusionTraverser.java +++ b/src/main/java/me/cortex/voxy/client/core/rendering/hierachical/HierarchicalOcclusionTraverser.java @@ -201,10 +201,7 @@ public class HierarchicalOcclusionTraverser { glBindBufferBase(GL_SHADER_STORAGE_BUFFER, RENDER_QUEUE_BINDING, viewport.getRenderList().id); } - public void doTraversal(Viewport viewport, int depthBuffer) { - //Compute the mip chain - viewport.hiZBuffer.buildMipChain(depthBuffer, viewport.width, viewport.height); - + public void doTraversal(Viewport viewport) { this.uploadUniform(viewport); //UploadStream.INSTANCE.commit(); //Done inside traversal