diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhMetaRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhMetaRenderer.java index e71e91dab..d6d551539 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhMetaRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhMetaRenderer.java @@ -8,16 +8,21 @@ public class BlazeDhMetaRenderer {} import com.mojang.blaze3d.textures.GpuTexture; import com.seibel.distanthorizons.common.render.blaze.apply.BlazeDhApplyRenderer; import com.seibel.distanthorizons.common.render.blaze.wrappers.texture.BlazeTextureWrapper; +import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.render.RenderParams; import com.seibel.distanthorizons.core.util.ColorUtil; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.render.renderPass.IDhMetaRenderer; import net.minecraft.client.Minecraft; +import java.awt.*; + public class BlazeDhMetaRenderer implements IDhMetaRenderer { public static final BlazeDhMetaRenderer INSTANCE = new BlazeDhMetaRenderer(); + private static final IMinecraftRenderWrapper MC_RENDER = SingletonInjector.INSTANCE.get(IMinecraftRenderWrapper.class); + private BlazeDhApplyRenderer applyRenderer; @@ -79,12 +84,10 @@ public class BlazeDhMetaRenderer implements IDhMetaRenderer @Override public void clearDhDepthAndColorTextures(RenderParams renderParams) { - // TODO use for clear color - //IMinecraftRenderWrapper r; - //r.getSkyColor() - this.dhDepthTextureWrapper.clearDepth(1.0f); - this.dhColorTextureWrapper.clearColor(ColorUtil.argbToInt(1, 1, 1, 1)); + + Color color = MC_RENDER.getSkyColor(); + this.dhColorTextureWrapper.clearColor(ColorUtil.toColorInt(color)); } //endregion diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhTerrainRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhTerrainRenderer.java index 27513a919..24a9f439c 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhTerrainRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhTerrainRenderer.java @@ -33,7 +33,7 @@ import com.seibel.distanthorizons.core.logging.DhLogger; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; import com.seibel.distanthorizons.core.pos.DhSectionPos; import com.seibel.distanthorizons.common.render.openGl.glObject.enums.GLEnums; -import com.seibel.distanthorizons.common.render.openGl.glObject.buffer.GlQuadElementBuffer; +import com.seibel.distanthorizons.common.render.openGl.glObject.buffer.GlQuadIndexBuffer; import com.seibel.distanthorizons.core.render.RenderParams; import com.seibel.distanthorizons.core.util.RenderUtil; import com.seibel.distanthorizons.core.util.math.Mat4f; @@ -88,7 +88,7 @@ public class BlazeDhTerrainRenderer implements IDhTerrainRenderer { return; } - this.init = true; // todo only set when succeeded (in case of exception) + VertexFormat vertexFormat = VertexFormat.builder() @@ -133,6 +133,8 @@ public class BlazeDhTerrainRenderer implements IDhTerrainRenderer pipelineBuilder.withBlend(BlendFunction.TRANSLUCENT); this.transparentPipeline = pipelineBuilder.build(); } + + this.init = true; } //endregion @@ -264,7 +266,7 @@ public class BlazeDhTerrainRenderer implements IDhTerrainRenderer if (this.indexBuffer == null) { ByteBuffer buffer = MemoryUtil.memAlloc(LodQuadBuilder.getMaxBufferByteSize() * GLEnums.getTypeSize(GL32.GL_UNSIGNED_INT) * 6); - GlQuadElementBuffer.buildBuffer(LodQuadBuilder.getMaxBufferByteSize(), buffer, GL32.GL_UNSIGNED_INT); + GlQuadIndexBuffer.buildBuffer(LodQuadBuilder.getMaxBufferByteSize(), buffer, GL32.GL_UNSIGNED_INT); // create buffer if needed diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/objects/BlazeGenericObjectVertexContainer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/objects/BlazeGenericObjectVertexContainer.java index 0eb4754eb..603480b86 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/objects/BlazeGenericObjectVertexContainer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/objects/BlazeGenericObjectVertexContainer.java @@ -179,7 +179,6 @@ public class BlazeGenericObjectVertexContainer implements IDhGenericObjectVertex this.vertexBuffer.put(a); this.vertexBuffer.put(box.material); - // TODO make sure this all is a multiple of 4 like LodQuadBuilder (might cause issues with AMD/Mac otherwise) } } this.vertexBuffer.flip(); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhDebugWireframeRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhDebugWireframeRenderer.java index 6399a7d54..9e35bcde6 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhDebugWireframeRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhDebugWireframeRenderer.java @@ -20,7 +20,7 @@ package com.seibel.distanthorizons.common.render.openGl; import com.seibel.distanthorizons.api.enums.config.EDhApiGpuUploadMethod; -import com.seibel.distanthorizons.common.render.openGl.glObject.buffer.GLElementBuffer; +import com.seibel.distanthorizons.common.render.openGl.glObject.buffer.GLIndexBuffer; import com.seibel.distanthorizons.common.render.openGl.glObject.buffer.GLVertexBuffer; import com.seibel.distanthorizons.common.render.openGl.glObject.shader.GlShaderProgram; import com.seibel.distanthorizons.common.render.openGl.glObject.vertexAttribute.GlAbstractVertexAttribute; @@ -53,7 +53,7 @@ public class GlDhDebugWireframeRenderer extends AbstractDebugWireframeRenderer // rendering setup private GlShaderProgram basicShader; private GLVertexBuffer vertexBuffer; - private GLElementBuffer indexBuffer; + private GLIndexBuffer indexBuffer; private GlAbstractVertexAttribute va; private boolean init = false; @@ -140,7 +140,7 @@ public class GlDhDebugWireframeRenderer extends AbstractDebugWireframeRenderer boxOutlineBuffer.order(ByteOrder.nativeOrder()); boxOutlineBuffer.asIntBuffer().put(BOX_OUTLINE_INDICES); boxOutlineBuffer.rewind(); - this.indexBuffer = new GLElementBuffer(false); + this.indexBuffer = new GLIndexBuffer(false); this.indexBuffer.uploadBuffer(boxOutlineBuffer, EDhApiGpuUploadMethod.DATA, BOX_OUTLINE_INDICES.length * Integer.BYTES, GL32.GL_STATIC_DRAW); } diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhMetaRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhMetaRenderer.java index eba0bae3d..fe2c84bbf 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhMetaRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhMetaRenderer.java @@ -8,7 +8,7 @@ import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhAp import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhApiTextureCreatedParam; import com.seibel.distanthorizons.common.render.openGl.glObject.GLProxy; import com.seibel.distanthorizons.common.render.openGl.glObject.GlDhFramebuffer; -import com.seibel.distanthorizons.common.render.openGl.glObject.buffer.GlQuadElementBuffer; +import com.seibel.distanthorizons.common.render.openGl.glObject.buffer.GlQuadIndexBuffer; import com.seibel.distanthorizons.common.render.openGl.glObject.texture.*; import com.seibel.distanthorizons.common.render.openGl.postProcessing.apply.GlDhApplyShader; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; @@ -242,7 +242,7 @@ public class GlDhMetaRenderer implements IDhMetaRenderer LOGGER.info("Setting up renderer"); - GlDhTerrainShaderProgram.INSTANCE.quadIBO = new GlQuadElementBuffer(); + GlDhTerrainShaderProgram.INSTANCE.quadIBO = new GlQuadIndexBuffer(); GlDhTerrainShaderProgram.INSTANCE.quadIBO.reserve(LodQuadBuilder.getMaxBufferByteSize()); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhTerrainShaderProgram.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhTerrainShaderProgram.java index 48bade6c8..e6f30b78f 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhTerrainShaderProgram.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhTerrainShaderProgram.java @@ -6,7 +6,7 @@ import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhAp import com.seibel.distanthorizons.api.objects.math.DhApiVec3f; import com.seibel.distanthorizons.common.render.openGl.glObject.GLProxy; import com.seibel.distanthorizons.common.render.openGl.glObject.buffer.GLVertexBuffer; -import com.seibel.distanthorizons.common.render.openGl.glObject.buffer.GlQuadElementBuffer; +import com.seibel.distanthorizons.common.render.openGl.glObject.buffer.GlQuadIndexBuffer; import com.seibel.distanthorizons.common.render.openGl.glObject.shader.GlShaderProgram; import com.seibel.distanthorizons.common.render.openGl.glObject.vertexAttribute.GlAbstractVertexAttribute; import com.seibel.distanthorizons.common.render.openGl.glObject.vertexAttribute.GlVertexAttributePostGL43; @@ -52,7 +52,7 @@ public class GlDhTerrainShaderProgram extends GlShaderProgram implements IDhApiS private boolean init = false; - public GlQuadElementBuffer quadIBO = null; + public GlQuadIndexBuffer quadIBO = null; public GlAbstractVertexAttribute vao; // uniforms // diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/generic/GlGenericObjectRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/generic/GlGenericObjectRenderer.java index e5abfd190..0fae35b2c 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/generic/GlGenericObjectRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/generic/GlGenericObjectRenderer.java @@ -30,7 +30,7 @@ import com.seibel.distanthorizons.api.objects.math.DhApiVec3d; import com.seibel.distanthorizons.api.objects.render.DhApiRenderableBox; import com.seibel.distanthorizons.api.objects.render.DhApiRenderableBoxGroupShading; import com.seibel.distanthorizons.common.render.openGl.glObject.GLProxy; -import com.seibel.distanthorizons.common.render.openGl.glObject.buffer.GLElementBuffer; +import com.seibel.distanthorizons.common.render.openGl.glObject.buffer.GLIndexBuffer; import com.seibel.distanthorizons.common.render.openGl.glObject.buffer.GLVertexBuffer; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; import com.seibel.distanthorizons.core.config.Config; @@ -91,7 +91,7 @@ public class GlGenericObjectRenderer implements IDhGenericRenderer private IDhApiGenericObjectShaderProgram instancedShaderProgram; private IDhApiGenericObjectShaderProgram directShaderProgram; private GLVertexBuffer boxVertexBuffer; - private GLElementBuffer boxIndexBuffer; + private GLIndexBuffer boxIndexBuffer; private boolean instancedRenderingAvailable; private boolean vertexAttribDivisorSupported; @@ -232,7 +232,7 @@ public class GlGenericObjectRenderer implements IDhGenericRenderer ByteBuffer solidIndexBuffer = MemoryUtil.memAlloc(BOX_INDICES.length * Integer.BYTES); solidIndexBuffer.asIntBuffer().put(BOX_INDICES); solidIndexBuffer.rewind(); - this.boxIndexBuffer = new GLElementBuffer(false); + this.boxIndexBuffer = new GLIndexBuffer(false); this.boxIndexBuffer.uploadBuffer(solidIndexBuffer, EDhApiGpuUploadMethod.DATA, BOX_INDICES.length * Integer.BYTES, GL32.GL_STATIC_DRAW); this.boxIndexBuffer.bind(); MemoryUtil.memFree(solidIndexBuffer); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLElementBuffer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLIndexBuffer.java similarity index 85% rename from common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLElementBuffer.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLIndexBuffer.java index 2f6c042bf..d7ca1b74b 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLElementBuffer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLIndexBuffer.java @@ -22,13 +22,12 @@ package com.seibel.distanthorizons.common.render.openGl.glObject.buffer; import org.lwjgl.opengl.GL32; /** - * This is a container for a OpenGL - * VBO (Vertex Buffer Object). + * AKA the GLElementBuffer * * @author James Seibel * @version 11-20-2021 */ -public class GLElementBuffer extends GLBuffer +public class GLIndexBuffer extends GLBuffer { /** * When uploading to a buffer that is too small, recreate it this many times @@ -39,7 +38,7 @@ public class GLElementBuffer extends GLBuffer protected int type = GL32.GL_UNSIGNED_INT; public int getType() { return type; } - public GLElementBuffer(boolean isBufferStorage) + public GLIndexBuffer(boolean isBufferStorage) { super(isBufferStorage); } @@ -52,9 +51,6 @@ public class GLElementBuffer extends GLBuffer } @Override - public int getBufferBindingTarget() - { - return GL32.GL_ELEMENT_ARRAY_BUFFER; - } + public int getBufferBindingTarget() { return GL32.GL_ELEMENT_ARRAY_BUFFER; } } \ No newline at end of file diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GlQuadElementBuffer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GlQuadIndexBuffer.java similarity index 97% rename from common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GlQuadElementBuffer.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GlQuadIndexBuffer.java index c0bcca307..bf50628bf 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GlQuadElementBuffer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GlQuadIndexBuffer.java @@ -28,8 +28,8 @@ import org.lwjgl.system.MemoryUtil; import java.nio.ByteBuffer; -/** AKA Index Buffer TODO RENAME */ -public class GlQuadElementBuffer extends GLElementBuffer +/** aka GlQuadElementBuffer */ +public class GlQuadIndexBuffer extends GLIndexBuffer { private static final DhLogger LOGGER = new DhLoggerBuilder().build(); @@ -40,7 +40,7 @@ public class GlQuadElementBuffer extends GLElementBuffer //=============// //region - public GlQuadElementBuffer() { super(false); } + public GlQuadIndexBuffer() { super(false); } public void reserve(int quadCount) { diff --git a/coreSubProjects b/coreSubProjects index 082b364f5..2393bdd8e 160000 --- a/coreSubProjects +++ b/coreSubProjects @@ -1 +1 @@ -Subproject commit 082b364f52f793182a73c7f6db90c473d9868dd0 +Subproject commit 2393bdd8e878d94ed8fe2de561a9533ee012d04c