diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDebugWireframeRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDebugWireframeRenderer.java index 286c7f818..a1db1eb56 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDebugWireframeRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDebugWireframeRenderer.java @@ -32,8 +32,8 @@ import com.mojang.blaze3d.systems.GpuDevice; import com.mojang.blaze3d.systems.RenderPass; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.VertexFormat; -import com.seibel.distanthorizons.common.render.blaze.helpers.UniformHandler; -import com.seibel.distanthorizons.common.render.blaze.util.DhBlazeVertexFormatUtil; +import com.seibel.distanthorizons.common.render.blaze.util.BlazeUniformUtil; +import com.seibel.distanthorizons.common.render.blaze.util.BlazeDhVertexFormatUtil; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.logging.DhLogger; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; @@ -135,7 +135,7 @@ public class BlazeDebugWireframeRenderer extends AbstractDebugWireframeRenderer private void createPipelines() { VertexFormat vertexFormat = VertexFormat.builder() - .add("vPosition", DhBlazeVertexFormatUtil.FLOAT_XYZ_POS) + .add("vPosition", BlazeDhVertexFormatUtil.FLOAT_XYZ_POS) .build(); RenderPipeline.Builder pipelineBuilder = RenderPipeline.builder(); @@ -283,7 +283,7 @@ public class BlazeDebugWireframeRenderer extends AbstractDebugWireframeRenderer .get() ; - this.uniformBuffer = UniformHandler.createBuffer("uniformBlock", uniformBufferSize, this.uniformBuffer); + this.uniformBuffer = BlazeUniformUtil.createBuffer("uniformBlock", uniformBufferSize, this.uniformBuffer); GpuBufferSlice bufferSlice = new GpuBufferSlice(this.uniformBuffer, 0, uniformBufferSize); commandEncoder.writeToBuffer(bufferSlice, buffer); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhGenericObjectRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhGenericObjectRenderer.java index c8183fa58..05859dfec 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhGenericObjectRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhGenericObjectRenderer.java @@ -42,10 +42,10 @@ import com.seibel.distanthorizons.api.methods.events.abstractEvents.DhApiBeforeG 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.blaze.helpers.BlazeGenericObjectVertexContainer; -import com.seibel.distanthorizons.common.render.blaze.util.DhBlazeVertexFormatUtil; +import com.seibel.distanthorizons.common.render.blaze.objects.BlazeGenericObjectVertexContainer; +import com.seibel.distanthorizons.common.render.blaze.util.BlazeDhVertexFormatUtil; import com.seibel.distanthorizons.common.render.blaze.wrappers.texture.BlazeTextureViewWrapper; -import com.seibel.distanthorizons.common.render.blaze.helpers.UniformHandler; +import com.seibel.distanthorizons.common.render.blaze.util.BlazeUniformUtil; import com.seibel.distanthorizons.common.wrappers.misc.LightMapWrapper; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.logging.DhLogger; @@ -128,9 +128,9 @@ public class BlazeDhGenericObjectRenderer implements IDhGenericRenderer this.init = true; this.vertexFormat = VertexFormat.builder() - .add("vPosition", DhBlazeVertexFormatUtil.FLOAT_XYZ_POS) - .add("aColor", DhBlazeVertexFormatUtil.RGBA_UBYTE_COLOR) - .add("aMaterial", DhBlazeVertexFormatUtil.IRIS_MATERIAL) + .add("vPosition", BlazeDhVertexFormatUtil.FLOAT_XYZ_POS) + .add("aColor", BlazeDhVertexFormatUtil.RGBA_UBYTE_COLOR) + .add("aMaterial", BlazeDhVertexFormatUtil.IRIS_MATERIAL) .build(); this.createPipelines(); @@ -480,7 +480,7 @@ public class BlazeDhGenericObjectRenderer implements IDhGenericRenderer .get() ; - this.vertUniformBuffer = UniformHandler.createBuffer("vertUniformBlock", uniformBufferSize, this.vertUniformBuffer); + this.vertUniformBuffer = BlazeUniformUtil.createBuffer("vertUniformBlock", uniformBufferSize, this.vertUniformBuffer); GpuBufferSlice bufferSlice = new GpuBufferSlice(this.vertUniformBuffer, 0, uniformBufferSize); COMMAND_ENCODER.writeToBuffer(bufferSlice, buffer); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhRenderApiDefinition.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhRenderApiDefinition.java index de117e308..f91eb3c32 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhRenderApiDefinition.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhRenderApiDefinition.java @@ -1,6 +1,6 @@ package com.seibel.distanthorizons.common.render.blaze; -import com.seibel.distanthorizons.common.render.blaze.helpers.BlazeGenericObjectVertexContainer; +import com.seibel.distanthorizons.common.render.blaze.objects.BlazeGenericObjectVertexContainer; import com.seibel.distanthorizons.common.render.blaze.postProcessing.BlazeDhFarFadeRenderer; import com.seibel.distanthorizons.common.render.blaze.postProcessing.BlazeDhFogRenderer; import com.seibel.distanthorizons.common.render.blaze.postProcessing.BlazeDhSsaoRenderer; @@ -8,7 +8,6 @@ import com.seibel.distanthorizons.common.render.blaze.postProcessing.BlazeVanill import com.seibel.distanthorizons.common.render.blaze.test.BlazeDhTestTriangleRenderer; import com.seibel.distanthorizons.common.render.blaze.wrappers.buffer.BlazeVertexBufferWrapper; import com.seibel.distanthorizons.common.render.blaze.wrappers.uniform.BlazeLodUniformBufferWrapper; -import com.seibel.distanthorizons.common.render.nativeGl.OpenGlDhMetaRenderer; import com.seibel.distanthorizons.core.render.renderer.AbstractDebugWireframeRenderer; import com.seibel.distanthorizons.core.wrapperInterfaces.render.AbstractDhRenderApiDefinition; import com.seibel.distanthorizons.core.wrapperInterfaces.render.objects.IDhGenericObjectVertexBufferContainer; 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 1ae996b42..11b3845dd 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 @@ -16,8 +16,8 @@ import com.mojang.blaze3d.systems.RenderPass; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.VertexFormat; import com.seibel.distanthorizons.api.methods.events.abstractEvents.DhApiBeforeBufferRenderEvent; -import com.seibel.distanthorizons.common.render.blaze.helpers.*; -import com.seibel.distanthorizons.common.render.blaze.util.DhBlazeVertexFormatUtil; +import com.seibel.distanthorizons.common.render.blaze.util.BlazeDhVertexFormatUtil; +import com.seibel.distanthorizons.common.render.blaze.util.BlazeUniformUtil; import com.seibel.distanthorizons.common.render.blaze.wrappers.texture.BlazeTextureViewWrapper; import com.seibel.distanthorizons.common.render.blaze.wrappers.uniform.BlazeLodUniformBufferWrapper; import com.seibel.distanthorizons.common.render.blaze.wrappers.buffer.BlazeVertexBufferWrapper; @@ -28,8 +28,8 @@ import com.seibel.distanthorizons.core.dataObjects.render.bufferBuilding.LodQuad 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.nativeGl.glObject.GLEnums; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.buffer.QuadElementBuffer; +import com.seibel.distanthorizons.common.render.openGl.glObject.enums.GLEnums; +import com.seibel.distanthorizons.common.render.openGl.glObject.buffer.GlQuadElementBuffer; import com.seibel.distanthorizons.core.render.RenderParams; import com.seibel.distanthorizons.core.util.RenderUtil; import com.seibel.distanthorizons.core.util.math.Mat4f; @@ -88,13 +88,13 @@ public class BlazeDhTerrainRenderer implements IDhTerrainRenderer VertexFormat vertexFormat = VertexFormat.builder() - .add("vPosition", DhBlazeVertexFormatUtil.SHORT_XYZ_POS) - .add("meta", DhBlazeVertexFormatUtil.META) - .add("vColor", DhBlazeVertexFormatUtil.RGBA_UBYTE_COLOR) - .add("irisMaterial", DhBlazeVertexFormatUtil.IRIS_MATERIAL) - .add("irisNormal", DhBlazeVertexFormatUtil.IRIS_NORMAL) - .add("paddingTwo", DhBlazeVertexFormatUtil.BYTE_PAD) - .add("paddingThree", DhBlazeVertexFormatUtil.BYTE_PAD) // padding is to make sure the format is a multiple of 4 + .add("vPosition", BlazeDhVertexFormatUtil.SHORT_XYZ_POS) + .add("meta", BlazeDhVertexFormatUtil.META) + .add("vColor", BlazeDhVertexFormatUtil.RGBA_UBYTE_COLOR) + .add("irisMaterial", BlazeDhVertexFormatUtil.IRIS_MATERIAL) + .add("irisNormal", BlazeDhVertexFormatUtil.IRIS_NORMAL) + .add("paddingTwo", BlazeDhVertexFormatUtil.BYTE_PAD) + .add("paddingThree", BlazeDhVertexFormatUtil.BYTE_PAD) // padding is to make sure the format is a multiple of 4 .build(); RenderPipeline.Builder pipelineBuilder = RenderPipeline.builder(); @@ -207,7 +207,7 @@ public class BlazeDhTerrainRenderer implements IDhTerrainRenderer .putMat4f(combinedMatrix.createJomlMatrix()) // uCombinedMatrix .get(); - this.vertSharedUniformBuffer = UniformHandler.createBuffer("vertSharedUniformBlock", uniformBufferSize, this.vertSharedUniformBuffer); + this.vertSharedUniformBuffer = BlazeUniformUtil.createBuffer("vertSharedUniformBlock", uniformBufferSize, this.vertSharedUniformBuffer); GpuBufferSlice bufferSlice = new GpuBufferSlice(this.vertSharedUniformBuffer, 0, uniformBufferSize); COMMAND_ENCODER.writeToBuffer(bufferSlice, buffer); @@ -249,7 +249,7 @@ public class BlazeDhTerrainRenderer implements IDhTerrainRenderer .get() ; - this.fragUniformBuffer = UniformHandler.createBuffer("fragUniformBlock", uniformBufferSize, this.fragUniformBuffer); + this.fragUniformBuffer = BlazeUniformUtil.createBuffer("fragUniformBlock", uniformBufferSize, this.fragUniformBuffer); GpuBufferSlice bufferSlice = new GpuBufferSlice(this.fragUniformBuffer, 0, uniformBufferSize); COMMAND_ENCODER.writeToBuffer(bufferSlice, buffer); @@ -260,7 +260,7 @@ public class BlazeDhTerrainRenderer implements IDhTerrainRenderer if (this.indexBuffer == null) { ByteBuffer buffer = MemoryUtil.memAlloc(LodQuadBuilder.getMaxBufferByteSize() * GLEnums.getTypeSize(GL32.GL_UNSIGNED_INT) * 6); - QuadElementBuffer.buildBuffer(LodQuadBuilder.getMaxBufferByteSize(), buffer, GL32.GL_UNSIGNED_INT); + GlQuadElementBuffer.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/apply/BlazeDhApplyRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/apply/BlazeDhApplyRenderer.java index 2539c2cf1..636716246 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/apply/BlazeDhApplyRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/apply/BlazeDhApplyRenderer.java @@ -31,7 +31,7 @@ import com.mojang.blaze3d.systems.RenderPass; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.textures.*; import com.mojang.blaze3d.vertex.VertexFormat; -import com.seibel.distanthorizons.common.render.blaze.util.DhBlazeVertexFormatUtil; +import com.seibel.distanthorizons.common.render.blaze.util.BlazeDhVertexFormatUtil; import com.seibel.distanthorizons.common.render.blaze.wrappers.texture.BlazeTextureViewWrapper; import com.seibel.distanthorizons.common.render.blaze.util.BlazePostProcessUtil; import com.seibel.distanthorizons.core.logging.DhLogger; @@ -146,7 +146,7 @@ public class BlazeDhApplyRenderer } VertexFormat vertexFormat = VertexFormat.builder() - .add("vPosition", DhBlazeVertexFormatUtil.SCREEN_POS) + .add("vPosition", BlazeDhVertexFormatUtil.SCREEN_POS) .build(); RenderPipeline.Builder pipelineBuilder = RenderPipeline.builder(); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/helpers/BlazeGenericObjectVertexContainer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/objects/BlazeGenericObjectVertexContainer.java similarity index 98% rename from common/src/main/java/com/seibel/distanthorizons/common/render/blaze/helpers/BlazeGenericObjectVertexContainer.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/blaze/objects/BlazeGenericObjectVertexContainer.java index f9c3f467f..b6fe50565 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/helpers/BlazeGenericObjectVertexContainer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/objects/BlazeGenericObjectVertexContainer.java @@ -1,4 +1,4 @@ -package com.seibel.distanthorizons.common.render.blaze.helpers; +package com.seibel.distanthorizons.common.render.blaze.objects; import com.mojang.blaze3d.buffers.GpuBuffer; import com.mojang.blaze3d.buffers.GpuBufferSlice; @@ -8,7 +8,7 @@ import com.mojang.blaze3d.systems.RenderSystem; import com.seibel.distanthorizons.api.objects.render.DhApiRenderableBox; import com.seibel.distanthorizons.core.logging.DhLogger; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.GLEnums; +import com.seibel.distanthorizons.common.render.openGl.glObject.enums.GLEnums; import com.seibel.distanthorizons.core.render.RenderThreadTaskHandler; import com.seibel.distanthorizons.core.wrapperInterfaces.render.objects.IDhGenericObjectVertexBufferContainer; import com.seibel.distanthorizons.core.render.renderer.RenderableBoxGroup; diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhFarFadeRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhFarFadeRenderer.java index 2eeb400aa..9f01b56c4 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhFarFadeRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhFarFadeRenderer.java @@ -33,10 +33,9 @@ import com.mojang.blaze3d.systems.RenderPass; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.VertexFormat; import com.seibel.distanthorizons.common.render.blaze.BlazeDhMetaRenderer; -import com.seibel.distanthorizons.common.render.blaze.BlazeDhTerrainRenderer; import com.seibel.distanthorizons.common.render.blaze.apply.BlazeDhCopyRenderer; -import com.seibel.distanthorizons.common.render.blaze.helpers.*; import com.seibel.distanthorizons.common.render.blaze.util.BlazePostProcessUtil; +import com.seibel.distanthorizons.common.render.blaze.util.BlazeUniformUtil; import com.seibel.distanthorizons.common.render.blaze.wrappers.texture.BlazeTextureViewWrapper; import com.seibel.distanthorizons.common.render.blaze.wrappers.texture.BlazeTextureWrapper; import com.seibel.distanthorizons.core.logging.DhLogger; @@ -184,7 +183,7 @@ public class BlazeDhFarFadeRenderer implements IDhFarFadeRenderer .get() ; - this.fragUniformBuffer = UniformHandler.createBuffer("fragUniformBlock", uniformBufferSize, this.fragUniformBuffer); + this.fragUniformBuffer = BlazeUniformUtil.createBuffer("fragUniformBlock", uniformBufferSize, this.fragUniformBuffer); GpuBufferSlice bufferSlice = new GpuBufferSlice(this.fragUniformBuffer, 0, uniformBufferSize); COMMAND_ENCODER.writeToBuffer(bufferSlice, buffer); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhFogRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhFogRenderer.java index deafa053d..8a2b3c81c 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhFogRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhFogRenderer.java @@ -38,13 +38,11 @@ import com.mojang.blaze3d.vertex.VertexFormat; import com.seibel.distanthorizons.api.enums.rendering.EDhApiFogColorMode; import com.seibel.distanthorizons.api.enums.rendering.EDhApiHeightFogDirection; import com.seibel.distanthorizons.api.enums.rendering.EDhApiHeightFogMixMode; -import com.seibel.distanthorizons.api.objects.math.DhApiMat4f; import com.seibel.distanthorizons.common.render.blaze.BlazeDhMetaRenderer; -import com.seibel.distanthorizons.common.render.blaze.BlazeDhTerrainRenderer; import com.seibel.distanthorizons.common.render.blaze.apply.BlazeDhApplyRenderer; import com.seibel.distanthorizons.common.render.blaze.wrappers.texture.BlazeTextureWrapper; import com.seibel.distanthorizons.common.render.blaze.util.BlazePostProcessUtil; -import com.seibel.distanthorizons.common.render.blaze.helpers.UniformHandler; +import com.seibel.distanthorizons.common.render.blaze.util.BlazeUniformUtil; import com.seibel.distanthorizons.core.config.Config; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.logging.DhLogger; @@ -302,7 +300,7 @@ public class BlazeDhFogRenderer implements IDhFogRenderer .get() ; - this.fragUniformBuffer = UniformHandler.createBuffer("fragUniformBlock", uniformBufferSize, this.fragUniformBuffer); + this.fragUniformBuffer = BlazeUniformUtil.createBuffer("fragUniformBlock", uniformBufferSize, this.fragUniformBuffer); GpuBufferSlice bufferSlice = new GpuBufferSlice(this.fragUniformBuffer, 0, uniformBufferSize); COMMAND_ENCODER.writeToBuffer(bufferSlice, buffer); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhSsaoRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhSsaoRenderer.java index e14aa588e..f9de81aa8 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhSsaoRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhSsaoRenderer.java @@ -35,13 +35,11 @@ import com.mojang.blaze3d.systems.GpuDevice; import com.mojang.blaze3d.systems.RenderPass; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.VertexFormat; -import com.seibel.distanthorizons.api.objects.math.DhApiMat4f; import com.seibel.distanthorizons.common.render.blaze.BlazeDhMetaRenderer; -import com.seibel.distanthorizons.common.render.blaze.BlazeDhTerrainRenderer; import com.seibel.distanthorizons.common.render.blaze.apply.BlazeDhApplyRenderer; import com.seibel.distanthorizons.common.render.blaze.wrappers.texture.BlazeTextureWrapper; import com.seibel.distanthorizons.common.render.blaze.util.BlazePostProcessUtil; -import com.seibel.distanthorizons.common.render.blaze.helpers.UniformHandler; +import com.seibel.distanthorizons.common.render.blaze.util.BlazeUniformUtil; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.logging.DhLogger; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; @@ -199,7 +197,7 @@ public class BlazeDhSsaoRenderer implements IDhSsaoRenderer .get() ; - this.fragUniformBuffer = UniformHandler.createBuffer("fragUniformBlock", uniformBufferSize, this.fragUniformBuffer); + this.fragUniformBuffer = BlazeUniformUtil.createBuffer("fragUniformBlock", uniformBufferSize, this.fragUniformBuffer); GpuBufferSlice bufferSlice = new GpuBufferSlice(this.fragUniformBuffer, 0, uniformBufferSize); COMMAND_ENCODER.writeToBuffer(bufferSlice, buffer); @@ -236,7 +234,7 @@ public class BlazeDhSsaoRenderer implements IDhSsaoRenderer .get() ; - this.applyFragUniformBuffer = UniformHandler.createBuffer("applyFragUniformBlock", uniformBufferSize, this.applyFragUniformBuffer); + this.applyFragUniformBuffer = BlazeUniformUtil.createBuffer("applyFragUniformBlock", uniformBufferSize, this.applyFragUniformBuffer); GpuBufferSlice bufferSlice = new GpuBufferSlice(this.applyFragUniformBuffer, 0, uniformBufferSize); COMMAND_ENCODER.writeToBuffer(bufferSlice, buffer); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeVanillaFadeRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeVanillaFadeRenderer.java index 78533d213..788fd1538 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeVanillaFadeRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeVanillaFadeRenderer.java @@ -33,10 +33,9 @@ import com.mojang.blaze3d.systems.RenderPass; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.VertexFormat; import com.seibel.distanthorizons.common.render.blaze.BlazeDhMetaRenderer; -import com.seibel.distanthorizons.common.render.blaze.BlazeDhTerrainRenderer; import com.seibel.distanthorizons.common.render.blaze.apply.BlazeDhCopyRenderer; -import com.seibel.distanthorizons.common.render.blaze.helpers.*; import com.seibel.distanthorizons.common.render.blaze.util.BlazePostProcessUtil; +import com.seibel.distanthorizons.common.render.blaze.util.BlazeUniformUtil; import com.seibel.distanthorizons.common.render.blaze.wrappers.texture.BlazeTextureViewWrapper; import com.seibel.distanthorizons.common.render.blaze.wrappers.texture.BlazeTextureWrapper; import com.seibel.distanthorizons.core.config.Config; @@ -48,7 +47,6 @@ import com.seibel.distanthorizons.core.util.RenderUtil; import com.seibel.distanthorizons.core.util.math.Mat4f; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.render.renderPass.IDhVanillaFadeRenderer; -import com.seibel.distanthorizons.core.wrapperInterfaces.world.IClientLevelWrapper; import net.minecraft.client.Minecraft; import net.minecraft.resources.Identifier; @@ -214,7 +212,7 @@ public class BlazeVanillaFadeRenderer implements IDhVanillaFadeRenderer .get() ; - this.fragUniformBuffer = UniformHandler.createBuffer("fragUniformBlock", uniformBufferSize, this.fragUniformBuffer); + this.fragUniformBuffer = BlazeUniformUtil.createBuffer("fragUniformBlock", uniformBufferSize, this.fragUniformBuffer); GpuBufferSlice bufferSlice = new GpuBufferSlice(this.fragUniformBuffer, 0, uniformBufferSize); COMMAND_ENCODER.writeToBuffer(bufferSlice, buffer); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/test/BlazeDhTestTriangleRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/test/BlazeDhTestTriangleRenderer.java index d832cf964..563b82853 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/test/BlazeDhTestTriangleRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/test/BlazeDhTestTriangleRenderer.java @@ -30,7 +30,7 @@ import com.mojang.blaze3d.systems.RenderPass; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.textures.*; import com.mojang.blaze3d.vertex.VertexFormat; -import com.seibel.distanthorizons.common.render.blaze.util.DhBlazeVertexFormatUtil; +import com.seibel.distanthorizons.common.render.blaze.util.BlazeDhVertexFormatUtil; import com.seibel.distanthorizons.core.logging.DhLogger; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; import com.seibel.distanthorizons.core.render.RenderParams; @@ -84,8 +84,8 @@ public class BlazeDhTestTriangleRenderer implements IDhTestTriangleRenderer VertexFormat vertexFormat = VertexFormat.builder() - .add("vPosition", DhBlazeVertexFormatUtil.SCREEN_POS) - .add("vColor", DhBlazeVertexFormatUtil.RGBA_FLOAT_COLOR) + .add("vPosition", BlazeDhVertexFormatUtil.SCREEN_POS) + .add("vColor", BlazeDhVertexFormatUtil.RGBA_FLOAT_COLOR) .build(); //int breakpointOne = 0; diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/util/DhBlazeVertexFormatUtil.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/util/BlazeDhVertexFormatUtil.java similarity index 99% rename from common/src/main/java/com/seibel/distanthorizons/common/render/blaze/util/DhBlazeVertexFormatUtil.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/blaze/util/BlazeDhVertexFormatUtil.java index 6631f63ad..810d77d4d 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/util/DhBlazeVertexFormatUtil.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/util/BlazeDhVertexFormatUtil.java @@ -13,7 +13,7 @@ import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftCli /** * @see LodQuadBuilder */ -public class DhBlazeVertexFormatUtil +public class BlazeDhVertexFormatUtil { private static final DhLogger LOGGER = new DhLoggerBuilder().build(); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/util/BlazePostProcessUtil.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/util/BlazePostProcessUtil.java index b14e861a0..bca3e31f5 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/util/BlazePostProcessUtil.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/util/BlazePostProcessUtil.java @@ -63,7 +63,7 @@ public class BlazePostProcessUtil public static VertexFormat createVertexFormat() { VertexFormat vertexFormat = VertexFormat.builder() - .add("vPosition", DhBlazeVertexFormatUtil.SCREEN_POS) + .add("vPosition", BlazeDhVertexFormatUtil.SCREEN_POS) .build(); return vertexFormat; } diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/helpers/UniformHandler.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/util/BlazeUniformUtil.java similarity index 85% rename from common/src/main/java/com/seibel/distanthorizons/common/render/blaze/helpers/UniformHandler.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/blaze/util/BlazeUniformUtil.java index eeb70b9d4..e9262a797 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/helpers/UniformHandler.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/util/BlazeUniformUtil.java @@ -1,12 +1,11 @@ -package com.seibel.distanthorizons.common.render.blaze.helpers; +package com.seibel.distanthorizons.common.render.blaze.util; import com.mojang.blaze3d.buffers.GpuBuffer; import com.mojang.blaze3d.systems.CommandEncoder; import com.mojang.blaze3d.systems.GpuDevice; import com.mojang.blaze3d.systems.RenderSystem; -@Deprecated // TODO use Uniform Wrapper instead -public class UniformHandler +public class BlazeUniformUtil { private static final GpuDevice GPU_DEVICE = RenderSystem.getDevice(); private static final CommandEncoder COMMAND_ENCODER = GPU_DEVICE.createCommandEncoder(); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/wrappers/uniform/BlazeLodUniformBufferWrapper.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/wrappers/uniform/BlazeLodUniformBufferWrapper.java index 826f928c8..0ac76e60e 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/wrappers/uniform/BlazeLodUniformBufferWrapper.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/wrappers/uniform/BlazeLodUniformBufferWrapper.java @@ -8,7 +8,7 @@ import com.seibel.distanthorizons.core.wrapperInterfaces.render.objects.ILodCont import java.nio.ByteBuffer; -public class BlazeLodUniformBufferWrapper extends UniformBufferWrapper implements ILodContainerUniformBufferWrapper +public class BlazeLodUniformBufferWrapper extends BlazeUniformBufferWrapper implements ILodContainerUniformBufferWrapper { private boolean uploaded = false; diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/wrappers/uniform/UniformBufferWrapper.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/wrappers/uniform/BlazeUniformBufferWrapper.java similarity index 95% rename from common/src/main/java/com/seibel/distanthorizons/common/render/blaze/wrappers/uniform/UniformBufferWrapper.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/blaze/wrappers/uniform/BlazeUniformBufferWrapper.java index d0c448584..55b25e612 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/wrappers/uniform/UniformBufferWrapper.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/wrappers/uniform/BlazeUniformBufferWrapper.java @@ -12,7 +12,7 @@ import com.seibel.distanthorizons.core.wrapperInterfaces.render.objects.IUniform import java.nio.ByteBuffer; import java.nio.ByteOrder; -public class UniformBufferWrapper implements IUniformBufferWrapper +public class BlazeUniformBufferWrapper implements IUniformBufferWrapper { private static final DhLogger LOGGER = new DhLoggerBuilder().build(); @@ -35,7 +35,7 @@ public class UniformBufferWrapper implements IUniformBufferWrapper //=============// //region - public UniformBufferWrapper(String name) { this.name = name; } + public BlazeUniformBufferWrapper(String name) { this.name = name; } //endregion diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/OpenGlDhRenderApiDefinition.java b/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/OpenGlDhRenderApiDefinition.java deleted file mode 100644 index f86222d66..000000000 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/OpenGlDhRenderApiDefinition.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.seibel.distanthorizons.common.render.nativeGl; - -import com.seibel.distanthorizons.common.render.nativeGl.generic.OpenGlGenericObjectRenderer; -import com.seibel.distanthorizons.common.render.nativeGl.generic.OpenGlGenericObjectVertexContainer; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.OpenGlDummyUniformData; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.buffer.GLVertexBuffer; -import com.seibel.distanthorizons.common.render.nativeGl.postProcessing.fade.DhFarFadeRenderer; -import com.seibel.distanthorizons.common.render.nativeGl.postProcessing.fade.VanillaFadeRenderer; -import com.seibel.distanthorizons.common.render.nativeGl.postProcessing.fog.DhFogRenderer; -import com.seibel.distanthorizons.common.render.nativeGl.postProcessing.ssao.DhSSAORenderer; -import com.seibel.distanthorizons.common.render.nativeGl.test.GlTestTriangleRenderer; -import com.seibel.distanthorizons.core.render.renderer.AbstractDebugWireframeRenderer; -import com.seibel.distanthorizons.core.wrapperInterfaces.render.AbstractDhRenderApiDefinition; -import com.seibel.distanthorizons.core.wrapperInterfaces.render.objects.IDhGenericObjectVertexBufferContainer; -import com.seibel.distanthorizons.core.wrapperInterfaces.render.objects.ILodContainerUniformBufferWrapper; -import com.seibel.distanthorizons.core.wrapperInterfaces.render.objects.IVertexBufferWrapper; -import com.seibel.distanthorizons.core.wrapperInterfaces.render.renderPass.*; - -public class OpenGlDhRenderApiDefinition extends AbstractDhRenderApiDefinition -{ - //=========// - // getters // - //=========// - //region - - public String getApiName() { return "OpenGL"; } - - //endregion - - - - //============// - // singletons // - //============// - //region - - @Override public IDhMetaRenderer getMetaRenderer() { return OpenGlDhMetaRenderer.INSTANCE; } - @Override public IDhTerrainRenderer getTerrainRenderer() { return DhTerrainShaderProgram.INSTANCE; } - @Override public IDhSsaoRenderer getSsaoRenderer() { return DhSSAORenderer.INSTANCE; } - @Override public IDhFogRenderer getFogRenderer() { return DhFogRenderer.INSTANCE; } - @Override public IDhFarFadeRenderer getFarFadeRenderer() { return DhFarFadeRenderer.INSTANCE; } - @Override public AbstractDebugWireframeRenderer getDebugWireframeRenderer() { return OpenGlDebugWireframeRenderer.INSTANCE; } - - @Override public IDhVanillaFadeRenderer getVanillaFadeRenderer() { return VanillaFadeRenderer.INSTANCE; } - @Override public IDhTestTriangleRenderer getTestTriangleRenderer() { return GlTestTriangleRenderer.INSTANCE; } - - //endregion - - - - //===========// - // factories // - //===========// - //region - - @Override public IDhGenericRenderer createGenericRenderer() { return OpenGlGenericObjectRenderer.INSTANCE; } - - @Override public IVertexBufferWrapper createVboWrapper(String name) { return new GLVertexBuffer(); } - @Override public ILodContainerUniformBufferWrapper createLodContainerUniformWrapper() { return new OpenGlDummyUniformData(); } - @Override public IDhGenericObjectVertexBufferContainer createGenericVboContainer() { return new OpenGlGenericObjectVertexContainer(); } - - //endregion - - - -} diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/EDhInternalTextureFormat.java b/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/EDhInternalTextureFormat.java deleted file mode 100644 index a9a4851fc..000000000 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/EDhInternalTextureFormat.java +++ /dev/null @@ -1,130 +0,0 @@ -package com.seibel.distanthorizons.common.render.nativeGl.glObject.texture; - -import org.lwjgl.opengl.GL11C; -import org.lwjgl.opengl.GL30C; -import org.lwjgl.opengl.GL31C; - -import java.util.Locale; -import java.util.Optional; - -public enum EDhInternalTextureFormat -{ - RGBA(GL11C.GL_RGBA, EGlVersion.GL_11, EDhPixelFormat.RGBA), - - // 8-bit normalized - R8(GL30C.GL_R8, EGlVersion.GL_30, EDhPixelFormat.RED), - RG8(GL30C.GL_RG8, EGlVersion.GL_30, EDhPixelFormat.RG), - RGB8(GL11C.GL_RGB8, EGlVersion.GL_11, EDhPixelFormat.RGB), - RGBA8(GL11C.GL_RGBA8, EGlVersion.GL_11, EDhPixelFormat.RGBA), - - // 8-bit signed normalized - R8_SNORM(GL31C.GL_R8_SNORM, EGlVersion.GL_31, EDhPixelFormat.RED), - RG8_SNORM(GL31C.GL_RG8_SNORM, EGlVersion.GL_31, EDhPixelFormat.RG), - RGB8_SNORM(GL31C.GL_RGB8_SNORM, EGlVersion.GL_31, EDhPixelFormat.RGB), - RGBA8_SNORM(GL31C.GL_RGBA8_SNORM, EGlVersion.GL_31, EDhPixelFormat.RGBA), - - // 16-bit normalized - R16(GL30C.GL_R16, EGlVersion.GL_30, EDhPixelFormat.RED), - RG16(GL30C.GL_RG16, EGlVersion.GL_30, EDhPixelFormat.RG), - RGB16(GL11C.GL_RGB16, EGlVersion.GL_11, EDhPixelFormat.RGB), - RGBA16(GL11C.GL_RGBA16, EGlVersion.GL_11, EDhPixelFormat.RGBA), - - // 16-bit signed normalized - R16_SNORM(GL31C.GL_R16_SNORM, EGlVersion.GL_31, EDhPixelFormat.RED), - RG16_SNORM(GL31C.GL_RG16_SNORM, EGlVersion.GL_31, EDhPixelFormat.RG), - RGB16_SNORM(GL31C.GL_RGB16_SNORM, EGlVersion.GL_31, EDhPixelFormat.RGB), - RGBA16_SNORM(GL31C.GL_RGBA16_SNORM, EGlVersion.GL_31, EDhPixelFormat.RGBA), - - // 16-bit float - R16F(GL30C.GL_R16F, EGlVersion.GL_30, EDhPixelFormat.RED), - RG16F(GL30C.GL_RG16F, EGlVersion.GL_30, EDhPixelFormat.RG), - RGB16F(GL30C.GL_RGB16F, EGlVersion.GL_30, EDhPixelFormat.RGB), - RGBA16F(GL30C.GL_RGBA16F, EGlVersion.GL_30, EDhPixelFormat.RGBA), - - // 32-bit float - R32F(GL30C.GL_R32F, EGlVersion.GL_30, EDhPixelFormat.RED), - RG32F(GL30C.GL_RG32F, EGlVersion.GL_30, EDhPixelFormat.RG), - RGB32F(GL30C.GL_RGB32F, EGlVersion.GL_30, EDhPixelFormat.RGB), - RGBA32F(GL30C.GL_RGBA32F, EGlVersion.GL_30, EDhPixelFormat.RGBA), - - // 8-bit integer - R8I(GL30C.GL_R8I, EGlVersion.GL_30, EDhPixelFormat.RED_INTEGER), - RG8I(GL30C.GL_RG8I, EGlVersion.GL_30, EDhPixelFormat.RG_INTEGER), - RGB8I(GL30C.GL_RGB8I, EGlVersion.GL_30, EDhPixelFormat.RGB_INTEGER), - RGBA8I(GL30C.GL_RGBA8I, EGlVersion.GL_30, EDhPixelFormat.RGBA_INTEGER), - - // 8-bit unsigned integer - R8UI(GL30C.GL_R8UI, EGlVersion.GL_30, EDhPixelFormat.RED_INTEGER), - RG8UI(GL30C.GL_RG8UI, EGlVersion.GL_30, EDhPixelFormat.RG_INTEGER), - RGB8UI(GL30C.GL_RGB8UI, EGlVersion.GL_30, EDhPixelFormat.RGB_INTEGER), - RGBA8UI(GL30C.GL_RGBA8UI, EGlVersion.GL_30, EDhPixelFormat.RGBA_INTEGER), - - // 16-bit integer - R16I(GL30C.GL_R16I, EGlVersion.GL_30, EDhPixelFormat.RED_INTEGER), - RG16I(GL30C.GL_RG16I, EGlVersion.GL_30, EDhPixelFormat.RG_INTEGER), - RGB16I(GL30C.GL_RGB16I, EGlVersion.GL_30, EDhPixelFormat.RGB_INTEGER), - RGBA16I(GL30C.GL_RGBA16I, EGlVersion.GL_30, EDhPixelFormat.RGBA_INTEGER), - - // 16-bit unsigned integer - R16UI(GL30C.GL_R16UI, EGlVersion.GL_30, EDhPixelFormat.RED_INTEGER), - RG16UI(GL30C.GL_RG16UI, EGlVersion.GL_30, EDhPixelFormat.RG_INTEGER), - RGB16UI(GL30C.GL_RGB16UI, EGlVersion.GL_30, EDhPixelFormat.RGB_INTEGER), - RGBA16UI(GL30C.GL_RGBA16UI, EGlVersion.GL_30, EDhPixelFormat.RGBA_INTEGER), - - // 32-bit integer - R32I(GL30C.GL_R32I, EGlVersion.GL_30, EDhPixelFormat.RED_INTEGER), - RG32I(GL30C.GL_RG32I, EGlVersion.GL_30, EDhPixelFormat.RG_INTEGER), - RGB32I(GL30C.GL_RGB32I, EGlVersion.GL_30, EDhPixelFormat.RGB_INTEGER), - RGBA32I(GL30C.GL_RGBA32I, EGlVersion.GL_30, EDhPixelFormat.RGBA_INTEGER), - - // 32-bit unsigned integer - R32UI(GL30C.GL_R32UI, EGlVersion.GL_30, EDhPixelFormat.RED_INTEGER), - RG32UI(GL30C.GL_RG32UI, EGlVersion.GL_30, EDhPixelFormat.RG_INTEGER), - RGB32UI(GL30C.GL_RGB32UI, EGlVersion.GL_30, EDhPixelFormat.RGB_INTEGER), - RGBA32UI(GL30C.GL_RGBA32UI, EGlVersion.GL_30, EDhPixelFormat.RGBA_INTEGER), - - // Mixed - R3_G3_B2(GL11C.GL_R3_G3_B2, EGlVersion.GL_11, EDhPixelFormat.RGB), - RGB5_A1(GL11C.GL_RGB5_A1, EGlVersion.GL_11, EDhPixelFormat.RGBA), - RGB10_A2(GL11C.GL_RGB10_A2, EGlVersion.GL_11, EDhPixelFormat.RGBA), - R11F_G11F_B10F(GL30C.GL_R11F_G11F_B10F, EGlVersion.GL_30, EDhPixelFormat.RGB), - RGB9_E5(GL30C.GL_RGB9_E5, EGlVersion.GL_30, EDhPixelFormat.RGB); - - - - private final int glFormat; - private final EGlVersion minimumGlVersion; - private final EDhPixelFormat expectedPixelFormat; - - - - EDhInternalTextureFormat(int glFormat, EGlVersion minimumGlVersion, EDhPixelFormat expectedPixelFormat) - { - this.glFormat = glFormat; - this.minimumGlVersion = minimumGlVersion; - this.expectedPixelFormat = expectedPixelFormat; - } - - - - public static Optional fromString(String name) - { - try - { - return Optional.of(EDhInternalTextureFormat.valueOf(name.toUpperCase(Locale.US))); - } - catch (IllegalArgumentException e) - { - return Optional.empty(); - } - } - - public int getGlFormat() { return this.glFormat; } - - public EDhPixelFormat getPixelFormat() { return this.expectedPixelFormat; } - - public EGlVersion getMinimumGlVersion() { return this.minimumGlVersion; } - - - -} diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/EGlVersion.java b/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/EGlVersion.java deleted file mode 100644 index 6a256d2d3..000000000 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/EGlVersion.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.seibel.distanthorizons.common.render.nativeGl.glObject.texture; - -public enum EGlVersion -{ - GL_11, - GL_12, - GL_30, - GL_31 -} diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/vertexAttribute/VertexPointer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/vertexAttribute/VertexPointer.java deleted file mode 100644 index e05b2a621..000000000 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/vertexAttribute/VertexPointer.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * This file is part of the Distant Horizons mod - * licensed under the GNU LGPL v3 License. - * - * Copyright (C) 2020 James Seibel - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -package com.seibel.distanthorizons.common.render.nativeGl.glObject.vertexAttribute; - -import com.seibel.distanthorizons.coreapi.util.MathUtil; -import org.lwjgl.opengl.GL32; - -public final class VertexPointer -{ - public final int elementCount; - public final int glType; - public final boolean normalized; - public final int byteSize; - public final boolean useInteger; - - - - // basic constructors // - - public VertexPointer(int elementCount, int glType, boolean normalized, int byteSize, boolean useInteger) - { - this.elementCount = elementCount; - this.glType = glType; - this.normalized = normalized; - this.byteSize = byteSize; - this.useInteger = useInteger; - } - public VertexPointer(int elementCount, int glType, boolean normalized, int byteSize) - { - this(elementCount, glType, normalized, byteSize, false); - } - private static int _align(int bytes) { return MathUtil.ceilDiv(bytes, 4) * 4; } - - - - // named constructors // - - public static VertexPointer addFloatPointer(boolean normalized) { return new VertexPointer(1, GL32.GL_FLOAT, normalized, Float.BYTES); } - public static VertexPointer addVec2Pointer(boolean normalized) { return new VertexPointer(2, GL32.GL_FLOAT, normalized, Float.BYTES * 2); } - public static VertexPointer addVec3Pointer(boolean normalized) { return new VertexPointer(3, GL32.GL_FLOAT, normalized, Float.BYTES * 3); } - public static VertexPointer addVec4Pointer(boolean normalized) { return new VertexPointer(4, GL32.GL_FLOAT, normalized, Float.BYTES * 4); } - /** Always aligned to 4 bytes */ - public static VertexPointer addUnsignedBytePointer(boolean normalized, boolean useInteger) { return new VertexPointer(1, GL32.GL_UNSIGNED_BYTE, normalized, 4, useInteger); } - /** aligned to 4 bytes */ - public static VertexPointer addUnsignedBytesPointer(int elementCount, boolean normalized, boolean useInteger) - { return new VertexPointer(elementCount, GL32.GL_UNSIGNED_BYTE, normalized, _align(elementCount), useInteger); } - public static VertexPointer addUnsignedShortsPointer(int elementCount, boolean normalized, boolean useInteger) - { return new VertexPointer(elementCount, GL32.GL_UNSIGNED_SHORT, normalized, _align(elementCount * 2), useInteger); } - public static VertexPointer addShortsPointer(int elementCount, boolean normalized, boolean useInteger) { return new VertexPointer(elementCount, GL32.GL_SHORT, normalized, _align(elementCount * 2), useInteger); } - public static VertexPointer addIntPointer(boolean normalized, boolean useInteger) { return new VertexPointer(1, GL32.GL_INT, normalized, 4, useInteger); } - public static VertexPointer addIVec2Pointer(boolean normalized, boolean useInteger) { return new VertexPointer(2, GL32.GL_INT, normalized, 8, useInteger); } - public static VertexPointer addIVec3Pointer(boolean normalized, boolean useInteger) { return new VertexPointer(3, GL32.GL_INT, normalized, 12, useInteger); } - public static VertexPointer addIVec4Pointer(boolean normalized, boolean useInteger) { return new VertexPointer(4, GL32.GL_INT, normalized, 16, useInteger); } - -} diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fog/FogSettings.java b/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fog/FogSettings.java deleted file mode 100644 index 714eab500..000000000 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fog/FogSettings.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * This file is part of the Distant Horizons mod - * licensed under the GNU LGPL v3 License. - * - * Copyright (C) 2020 James Seibel - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -package com.seibel.distanthorizons.common.render.nativeGl.postProcessing.fog; - -import com.seibel.distanthorizons.api.enums.rendering.EDhApiFogFalloff; - -import java.util.Objects; - -/** - * Contains all configurable options related to fog. - * - * @version 2022-4-13 - */ -public class FogSettings -{ - /** a FogSetting object with 0 for every value */ - public static final FogSettings EMPTY = new FogSettings(0, 0, 0, 0, 0, EDhApiFogFalloff.LINEAR); - - - public final double start; - public final double end; - public final double min; - public final double max; - public final double density; - public final EDhApiFogFalloff fogType; - - public FogSettings(double start, double end, double min, double max, double density, EDhApiFogFalloff fogType) - { - this.start = start; - this.end = end; - this.min = min; - this.max = max; - this.density = density; - this.fogType = fogType; - } - - @Override - public boolean equals(Object o) - { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - FogSettings that = (FogSettings) o; - return Double.compare(that.start, start) == 0 && Double.compare(that.end, end) == 0 && Double.compare(that.min, min) == 0 && Double.compare(that.max, max) == 0 && Double.compare(that.density, density) == 0 && fogType == that.fogType; - } - - @Override - public int hashCode() - { - return Objects.hash(start, end, min, max, density, fogType); - } - - -} diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/OpenGlDebugWireframeRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhDebugWireframeRenderer.java similarity index 83% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/OpenGlDebugWireframeRenderer.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhDebugWireframeRenderer.java index f0fc8af05..13d225995 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/OpenGlDebugWireframeRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhDebugWireframeRenderer.java @@ -17,13 +17,13 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl; +package com.seibel.distanthorizons.common.render.openGl; import com.seibel.distanthorizons.api.enums.config.EDhApiGpuUploadMethod; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.buffer.GLElementBuffer; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.shader.ShaderProgram; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.vertexAttribute.AbstractVertexAttribute; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.vertexAttribute.VertexPointer; +import com.seibel.distanthorizons.common.render.openGl.glObject.buffer.GLElementBuffer; +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.GlVertexPointer; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; import com.seibel.distanthorizons.core.logging.DhLogger; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; @@ -39,9 +39,9 @@ import java.nio.ByteOrder; * Handles rendering the wireframe particles * that are used for seeing what the system's doing. */ -public class OpenGlDebugWireframeRenderer extends AbstractDebugWireframeRenderer +public class GlDhDebugWireframeRenderer extends AbstractDebugWireframeRenderer { - public static OpenGlDebugWireframeRenderer INSTANCE = new OpenGlDebugWireframeRenderer(); + public static GlDhDebugWireframeRenderer INSTANCE = new GlDhDebugWireframeRenderer(); public static final DhLogger LOGGER = new DhLoggerBuilder().build(); @@ -50,9 +50,9 @@ public class OpenGlDebugWireframeRenderer extends AbstractDebugWireframeRenderer // rendering setup - private ShaderProgram basicShader; + private GlShaderProgram basicShader; private GLElementBuffer outlineIndexBuffer; - private AbstractVertexAttribute va; + private GlAbstractVertexAttribute va; private boolean init = false; @@ -98,7 +98,7 @@ public class OpenGlDebugWireframeRenderer extends AbstractDebugWireframeRenderer //=============// //region - private OpenGlDebugWireframeRenderer() { } + private GlDhDebugWireframeRenderer() { } public void init() { @@ -108,12 +108,12 @@ public class OpenGlDebugWireframeRenderer extends AbstractDebugWireframeRenderer } this.init = true; - this.va = AbstractVertexAttribute.create(); + this.va = GlAbstractVertexAttribute.create(); this.va.bind(); // Pos - this.va.setVertexAttribute(0, 0, VertexPointer.addVec3Pointer(false)); + this.va.setVertexAttribute(0, 0, GlVertexPointer.addVec3Pointer(false)); this.va.completeAndCheck(Float.BYTES * 3); - this.basicShader = new ShaderProgram( + this.basicShader = new GlShaderProgram( "shaders/debug/vert.vert", "shaders/debug/frag.frag", "vPosition" diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/OpenGlDhMetaRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhMetaRenderer.java similarity index 88% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/OpenGlDhMetaRenderer.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhMetaRenderer.java index 8e7c26b33..eba0bae3d 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/OpenGlDhMetaRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhMetaRenderer.java @@ -1,4 +1,4 @@ -package com.seibel.distanthorizons.common.render.nativeGl; +package com.seibel.distanthorizons.common.render.openGl; import com.seibel.distanthorizons.api.enums.rendering.EDhApiRenderPass; import com.seibel.distanthorizons.api.interfaces.override.rendering.IDhApiFramebuffer; @@ -6,10 +6,11 @@ import com.seibel.distanthorizons.api.interfaces.override.rendering.IDhApiShader import com.seibel.distanthorizons.api.methods.events.abstractEvents.*; import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhApiRenderParam; import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhApiTextureCreatedParam; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.GLProxy; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.buffer.QuadElementBuffer; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.texture.*; -import com.seibel.distanthorizons.common.render.nativeGl.postProcessing.apply.DhApplyShader; +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.texture.*; +import com.seibel.distanthorizons.common.render.openGl.postProcessing.apply.GlDhApplyShader; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; import com.seibel.distanthorizons.common.wrappers.misc.LightMapWrapper; import com.seibel.distanthorizons.core.config.Config; @@ -28,7 +29,7 @@ import com.seibel.distanthorizons.coreapi.DependencyInjection.OverrideInjector; import org.jetbrains.annotations.Nullable; import org.lwjgl.opengl.GL32; -public class OpenGlDhMetaRenderer implements IDhMetaRenderer +public class GlDhMetaRenderer implements IDhMetaRenderer { public static final DhLogger LOGGER = new DhLoggerBuilder() .fileLevelConfig(Config.Common.Logging.logRendererEventToFile) @@ -39,7 +40,7 @@ public class OpenGlDhMetaRenderer implements IDhMetaRenderer .maxCountPerSecond(4) .build(); - public static final OpenGlDhMetaRenderer INSTANCE = new OpenGlDhMetaRenderer(); + public static final GlDhMetaRenderer INSTANCE = new GlDhMetaRenderer(); private static final IMinecraftRenderWrapper MC_RENDER = SingletonInjector.INSTANCE.get(IMinecraftRenderWrapper.class); @@ -57,10 +58,10 @@ public class OpenGlDhMetaRenderer implements IDhMetaRenderer private IDhApiFramebuffer framebuffer; /** will be null if MC's framebuffer is being used since MC already has a color texture */ @Nullable - private DhColorTexture nullableColorTexture; - private DHDepthTexture depthTexture; + private GlDhColorTexture nullableColorTexture; + private GlDhDepthTexture depthTexture; /** - * If true the {@link OpenGlDhMetaRenderer#framebuffer} is the same as MC's. + * If true the {@link GlDhMetaRenderer#framebuffer} is the same as MC's. * This should only be true in the case of Optifine so LODs won't be overwritten when shaders are enabled. */ private boolean usingMcFramebuffer = false; @@ -95,7 +96,7 @@ public class OpenGlDhMetaRenderer implements IDhMetaRenderer this.renderObjectsCreated = true; } - this.shaderProgramForThisFrame = DhTerrainShaderProgram.INSTANCE; + this.shaderProgramForThisFrame = GlDhTerrainShaderProgram.INSTANCE; IDhApiShaderProgram lodShaderProgramOverride = OverrideInjector.INSTANCE.get(IDhApiShaderProgram.class); if (lodShaderProgramOverride != null && this.shaderProgramForThisFrame.overrideThisFrame()) { @@ -105,7 +106,7 @@ public class OpenGlDhMetaRenderer implements IDhMetaRenderer this.setGLState(renderParams, firstPass); - DhTerrainShaderProgram.INSTANCE.quadIBO.bind(); + GlDhTerrainShaderProgram.INSTANCE.quadIBO.bind(); this.bindLightmap(renderParams.lightmap); } private void setGLState( @@ -213,7 +214,7 @@ public class OpenGlDhMetaRenderer implements IDhMetaRenderer { // Due to using MC/Optifine's framebuffer we need to re-bind the depth texture, // otherwise we'll be writing to MC/Optifine's depth texture which causes rendering issues - framebuffer.addDepthAttachment(this.depthTexture.getTextureId(), EDhDepthBufferFormat.DEPTH32F.isCombinedStencil()); + framebuffer.addDepthAttachment(this.depthTexture.getTextureId(), EGlDhDepthBufferFormat.DEPTH32F.isCombinedStencil()); // don't clear the color texture, that removes the sky @@ -241,8 +242,8 @@ public class OpenGlDhMetaRenderer implements IDhMetaRenderer LOGGER.info("Setting up renderer"); - DhTerrainShaderProgram.INSTANCE.quadIBO = new QuadElementBuffer(); - DhTerrainShaderProgram.INSTANCE.quadIBO.reserve(LodQuadBuilder.getMaxBufferByteSize()); + GlDhTerrainShaderProgram.INSTANCE.quadIBO = new GlQuadElementBuffer(); + GlDhTerrainShaderProgram.INSTANCE.quadIBO.reserve(LodQuadBuilder.getMaxBufferByteSize()); // create or get the frame buffer @@ -250,13 +251,13 @@ public class OpenGlDhMetaRenderer implements IDhMetaRenderer { // use MC/Optifine's default Framebuffer so shaders won't remove the LODs int currentFramebufferId = MC_RENDER.getTargetFramebuffer(); - this.framebuffer = new DhFramebuffer(currentFramebufferId); + this.framebuffer = new GlDhFramebuffer(currentFramebufferId); this.usingMcFramebuffer = true; } else { // normal use case - this.framebuffer = new DhFramebuffer(); + this.framebuffer = new GlDhFramebuffer(); this.usingMcFramebuffer = false; } @@ -299,22 +300,22 @@ public class OpenGlDhMetaRenderer implements IDhMetaRenderer IDhApiFramebuffer framebufferOverride = OverrideInjector.INSTANCE.get(IDhApiFramebuffer.class); - this.depthTexture = new DHDepthTexture(this.textureWidth, this.textureHeight, EDhDepthBufferFormat.DEPTH32F); - this.framebuffer.addDepthAttachment(this.depthTexture.getTextureId(), EDhDepthBufferFormat.DEPTH32F.isCombinedStencil()); + this.depthTexture = new GlDhDepthTexture(this.textureWidth, this.textureHeight, EGlDhDepthBufferFormat.DEPTH32F); + this.framebuffer.addDepthAttachment(this.depthTexture.getTextureId(), EGlDhDepthBufferFormat.DEPTH32F.isCombinedStencil()); if (framebufferOverride != null) { - framebufferOverride.addDepthAttachment(this.depthTexture.getTextureId(), EDhDepthBufferFormat.DEPTH32F.isCombinedStencil()); + framebufferOverride.addDepthAttachment(this.depthTexture.getTextureId(), EGlDhDepthBufferFormat.DEPTH32F.isCombinedStencil()); } // if we are using MC's frame buffer, a color texture is already present and shouldn't need to be bound if (!this.usingMcFramebuffer) { - this.nullableColorTexture = DhColorTexture.builder() + this.nullableColorTexture = GlDhColorTexture.builder() .setDimensions(this.textureWidth, this.textureHeight) - .setInternalFormat(EDhInternalTextureFormat.RGBA8) - .setPixelType(EDhPixelType.UNSIGNED_BYTE) - .setPixelFormat(EDhPixelFormat.RGBA) + .setInternalFormat(EGlDhInternalTextureFormat.RGBA8) + .setPixelType(EGlDhPixelType.UNSIGNED_BYTE) + .setPixelFormat(EGlDhPixelFormat.RGBA) .build(); this.framebuffer.addColorAttachment(0, this.nullableColorTexture.getTextureId()); @@ -361,12 +362,12 @@ public class OpenGlDhMetaRenderer implements IDhMetaRenderer this.unbindLightmap(); - DhTerrainShaderProgram.INSTANCE.quadIBO.unbind(); + GlDhTerrainShaderProgram.INSTANCE.quadIBO.unbind(); this.shaderProgramForThisFrame.unbind(); } @Override - public void applyToMcTexture(RenderParams renderParams) { DhApplyShader.INSTANCE.render(renderParams); } + public void applyToMcTexture(RenderParams renderParams) { GlDhApplyShader.INSTANCE.render(renderParams); } //endregion diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhRenderApiDefinition.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhRenderApiDefinition.java new file mode 100644 index 000000000..7c6f0afdc --- /dev/null +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhRenderApiDefinition.java @@ -0,0 +1,66 @@ +package com.seibel.distanthorizons.common.render.openGl; + +import com.seibel.distanthorizons.common.render.openGl.generic.GlGenericObjectRenderer; +import com.seibel.distanthorizons.common.render.openGl.generic.GlGenericObjectVertexContainer; +import com.seibel.distanthorizons.common.render.openGl.glObject.GlDummyUniformData; +import com.seibel.distanthorizons.common.render.openGl.glObject.buffer.GLVertexBuffer; +import com.seibel.distanthorizons.common.render.openGl.postProcessing.fade.GlDhFarFadeRenderer; +import com.seibel.distanthorizons.common.render.openGl.postProcessing.fade.GlVanillaFadeRenderer; +import com.seibel.distanthorizons.common.render.openGl.postProcessing.fog.GlDhFogRenderer; +import com.seibel.distanthorizons.common.render.openGl.postProcessing.ssao.GlDhSSAORenderer; +import com.seibel.distanthorizons.common.render.openGl.test.GlTestTriangleRenderer; +import com.seibel.distanthorizons.core.render.renderer.AbstractDebugWireframeRenderer; +import com.seibel.distanthorizons.core.wrapperInterfaces.render.AbstractDhRenderApiDefinition; +import com.seibel.distanthorizons.core.wrapperInterfaces.render.objects.IDhGenericObjectVertexBufferContainer; +import com.seibel.distanthorizons.core.wrapperInterfaces.render.objects.ILodContainerUniformBufferWrapper; +import com.seibel.distanthorizons.core.wrapperInterfaces.render.objects.IVertexBufferWrapper; +import com.seibel.distanthorizons.core.wrapperInterfaces.render.renderPass.*; + +public class GlDhRenderApiDefinition extends AbstractDhRenderApiDefinition +{ + //=========// + // getters // + //=========// + //region + + public String getApiName() { return "OpenGL"; } + + //endregion + + + + //============// + // singletons // + //============// + //region + + @Override public IDhMetaRenderer getMetaRenderer() { return GlDhMetaRenderer.INSTANCE; } + @Override public IDhTerrainRenderer getTerrainRenderer() { return GlDhTerrainShaderProgram.INSTANCE; } + @Override public IDhSsaoRenderer getSsaoRenderer() { return GlDhSSAORenderer.INSTANCE; } + @Override public IDhFogRenderer getFogRenderer() { return GlDhFogRenderer.INSTANCE; } + @Override public IDhFarFadeRenderer getFarFadeRenderer() { return GlDhFarFadeRenderer.INSTANCE; } + @Override public AbstractDebugWireframeRenderer getDebugWireframeRenderer() { return GlDhDebugWireframeRenderer.INSTANCE; } + + @Override public IDhVanillaFadeRenderer getVanillaFadeRenderer() { return GlVanillaFadeRenderer.INSTANCE; } + @Override public IDhTestTriangleRenderer getTestTriangleRenderer() { return GlTestTriangleRenderer.INSTANCE; } + + //endregion + + + + //===========// + // factories // + //===========// + //region + + @Override public IDhGenericRenderer createGenericRenderer() { return GlGenericObjectRenderer.INSTANCE; } + + @Override public IVertexBufferWrapper createVboWrapper(String name) { return new GLVertexBuffer(); } + @Override public ILodContainerUniformBufferWrapper createLodContainerUniformWrapper() { return new GlDummyUniformData(); } + @Override public IDhGenericObjectVertexBufferContainer createGenericVboContainer() { return new GlGenericObjectVertexContainer(); } + + //endregion + + + +} diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/DhTerrainShaderProgram.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhTerrainShaderProgram.java similarity index 84% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/DhTerrainShaderProgram.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhTerrainShaderProgram.java index c9bd18b01..04e7a2f02 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/DhTerrainShaderProgram.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhTerrainShaderProgram.java @@ -17,21 +17,21 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl; +package com.seibel.distanthorizons.common.render.openGl; import com.seibel.distanthorizons.api.interfaces.override.rendering.IDhApiShaderProgram; import com.seibel.distanthorizons.api.methods.events.abstractEvents.*; import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhApiRenderParam; import com.seibel.distanthorizons.api.objects.math.DhApiVec3f; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.GLProxy; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.buffer.GLVertexBuffer; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.buffer.QuadElementBuffer; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.shader.ShaderProgram; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.vertexAttribute.AbstractVertexAttribute; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.vertexAttribute.VertexAttributePostGL43; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.vertexAttribute.VertexAttributePreGL43; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.vertexAttribute.VertexPointer; -import com.seibel.distanthorizons.common.render.nativeGl.util.vertexFormat.LodVertexFormat; +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.shader.GlShaderProgram; +import com.seibel.distanthorizons.common.render.openGl.glObject.vertexAttribute.GlAbstractVertexAttribute; +import com.seibel.distanthorizons.common.render.openGl.glObject.vertexAttribute.GlVertexAttributePostGL43; +import com.seibel.distanthorizons.common.render.openGl.glObject.vertexAttribute.GlVertexAttributePreGL43; +import com.seibel.distanthorizons.common.render.openGl.glObject.vertexAttribute.GlVertexPointer; +import com.seibel.distanthorizons.common.render.openGl.util.vertexFormat.GlLodVertexFormat; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; import com.seibel.distanthorizons.common.wrappers.misc.LightMapWrapper; import com.seibel.distanthorizons.core.config.Config; @@ -57,21 +57,21 @@ import org.lwjgl.opengl.GL32; * Handles rendering the normal LOD terrain. * @see LodQuadBuilder */ -public class DhTerrainShaderProgram extends ShaderProgram implements IDhApiShaderProgram, IDhTerrainRenderer +public class GlDhTerrainShaderProgram extends GlShaderProgram implements IDhApiShaderProgram, IDhTerrainRenderer { public static final DhLogger LOGGER = new DhLoggerBuilder() .fileLevelConfig(Config.Common.Logging.logRendererEventToFile) .build(); - public static final DhTerrainShaderProgram INSTANCE = new DhTerrainShaderProgram(); + public static final GlDhTerrainShaderProgram INSTANCE = new GlDhTerrainShaderProgram(); private static final MinecraftGLWrapper GLMC = MinecraftGLWrapper.INSTANCE; private static final IIrisAccessor IRIS_ACCESSOR = ModAccessorInjector.INSTANCE.get(IIrisAccessor.class); - public QuadElementBuffer quadIBO = null; - public final AbstractVertexAttribute vao; + public GlQuadElementBuffer quadIBO = null; + public final GlAbstractVertexAttribute vao; // uniforms // //region @@ -106,7 +106,7 @@ public class DhTerrainShaderProgram extends ShaderProgram implements IDhApiShade //=============// //region - private DhTerrainShaderProgram() + private GlDhTerrainShaderProgram() { super( "shaders/standard.vert", @@ -138,30 +138,30 @@ public class DhTerrainShaderProgram extends ShaderProgram implements IDhApiShade if (GLProxy.getInstance().vertexAttributeBufferBindingSupported) { - this.vao = new VertexAttributePostGL43(); // also binds AbstractVertexAttribute + this.vao = new GlVertexAttributePostGL43(); // also binds AbstractVertexAttribute } else { - this.vao = new VertexAttributePreGL43(); // also binds AbstractVertexAttribute + this.vao = new GlVertexAttributePreGL43(); // also binds AbstractVertexAttribute } this.vao.bind(); // short: x, y, z, meta // meta: byte skylight, byte blocklight, byte microOffset - this.vao.setVertexAttribute(0, 0, VertexPointer.addUnsignedShortsPointer(4, false, true)); + this.vao.setVertexAttribute(0, 0, GlVertexPointer.addUnsignedShortsPointer(4, false, true)); // byte: r, g, b, a - this.vao.setVertexAttribute(0, 1, VertexPointer.addUnsignedBytesPointer(4, true, false)); + this.vao.setVertexAttribute(0, 1, GlVertexPointer.addUnsignedBytesPointer(4, true, false)); // byte: iris material ID, normal index, 2 spacers - this.vao.setVertexAttribute(0, 2, VertexPointer.addUnsignedBytesPointer(4, true, true)); + this.vao.setVertexAttribute(0, 2, GlVertexPointer.addUnsignedBytesPointer(4, true, true)); try { - int vertexByteCount = LodVertexFormat.DH_VERTEX_FORMAT.getByteSize(); + int vertexByteCount = GlLodVertexFormat.DH_VERTEX_FORMAT.getByteSize(); this.vao.completeAndCheck(vertexByteCount); } catch (RuntimeException e) { - System.out.println(LodVertexFormat.DH_VERTEX_FORMAT); + System.out.println(GlLodVertexFormat.DH_VERTEX_FORMAT); throw e; } @@ -331,8 +331,8 @@ public class DhTerrainShaderProgram extends ShaderProgram implements IDhApiShade (float) (bufferContainer.minCornerBlockPos.getY() - camPos.y), (float) (bufferContainer.minCornerBlockPos.getZ() - camPos.z)); - OpenGlDhMetaRenderer.INSTANCE.shaderProgramForThisFrame.bind(); - OpenGlDhMetaRenderer.INSTANCE.shaderProgramForThisFrame.setModelOffsetPos(modelPos); + GlDhMetaRenderer.INSTANCE.shaderProgramForThisFrame.bind(); + GlDhMetaRenderer.INSTANCE.shaderProgramForThisFrame.setModelOffsetPos(modelPos); ApiEventInjector.INSTANCE.fireAllEvents(DhApiBeforeBufferRenderEvent.class, new DhApiBeforeBufferRenderEvent.EventParam(renderEventParam, modelPos)); } @@ -355,7 +355,7 @@ public class DhTerrainShaderProgram extends ShaderProgram implements IDhApiShade int indexCount = (int)(vbo.getVertexCount() * 1.5); vbo.bind(); - OpenGlDhMetaRenderer.INSTANCE.shaderProgramForThisFrame.bindVertexBuffer(vbo.getId()); + GlDhMetaRenderer.INSTANCE.shaderProgramForThisFrame.bindVertexBuffer(vbo.getId()); GL32.glDrawElements( GL32.GL_TRIANGLES, indexCount, diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/generic/OpenGlGenericObjectRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/generic/GlGenericObjectRenderer.java similarity index 95% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/generic/OpenGlGenericObjectRenderer.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/generic/GlGenericObjectRenderer.java index 30ca56132..7e38e00e7 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/generic/OpenGlGenericObjectRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/generic/GlGenericObjectRenderer.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.generic; +package com.seibel.distanthorizons.common.render.openGl.generic; import com.seibel.distanthorizons.api.enums.config.EDhApiGpuUploadMethod; import com.seibel.distanthorizons.api.enums.rendering.EDhApiBlockMaterial; @@ -29,9 +29,9 @@ import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhAp 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.nativeGl.glObject.GLProxy; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.buffer.GLElementBuffer; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.buffer.GLVertexBuffer; +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.GLVertexBuffer; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; import com.seibel.distanthorizons.core.config.Config; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; @@ -66,7 +66,7 @@ import java.util.concurrent.ConcurrentHashMap; * @see IDhApiCustomRenderRegister * @see DhApiRenderableBox */ -public class OpenGlGenericObjectRenderer implements IDhGenericRenderer +public class GlGenericObjectRenderer implements IDhGenericRenderer { private static final DhLogger LOGGER = new DhLoggerBuilder().build(); @@ -76,7 +76,7 @@ public class OpenGlGenericObjectRenderer implements IDhGenericRenderer private static final DhApiRenderableBoxGroupShading DEFAULT_SHADING = DhApiRenderableBoxGroupShading.getUnshaded(); - public static final OpenGlGenericObjectRenderer INSTANCE = new OpenGlGenericObjectRenderer(); + public static final GlGenericObjectRenderer INSTANCE = new GlGenericObjectRenderer(); /** * Can be used to troubleshoot the renderer. @@ -176,7 +176,7 @@ public class OpenGlGenericObjectRenderer implements IDhGenericRenderer //=============// //region - private OpenGlGenericObjectRenderer() { } + private GlGenericObjectRenderer() { } public void init() { @@ -207,8 +207,8 @@ public class OpenGlGenericObjectRenderer implements IDhGenericRenderer // startup the renderer // //======================// - this.instancedShaderProgram = new GenericObjectShaderProgram(true); - this.directShaderProgram = new GenericObjectShaderProgram(false); + this.instancedShaderProgram = new GlGenericObjectShaderProgram(true); + this.directShaderProgram = new GlGenericObjectShaderProgram(false); this.createBuffers(); @@ -478,7 +478,7 @@ public class OpenGlGenericObjectRenderer implements IDhGenericRenderer boxGroup.tryUpdateInstancedDataAsync(); // skip groups that haven't been uploaded yet - if (boxGroup.vertexBufferContainer.getState() != OpenGlGenericObjectVertexContainer.EState.RENDER) + if (boxGroup.vertexBufferContainer.getState() != GlGenericObjectVertexContainer.EState.RENDER) { continue; } @@ -560,7 +560,7 @@ public class OpenGlGenericObjectRenderer implements IDhGenericRenderer // Bind instance data // profiler.popPush("binding"); - OpenGlGenericObjectVertexContainer container = (OpenGlGenericObjectVertexContainer)(boxGroup.vertexBufferContainer); + GlGenericObjectVertexContainer container = (GlGenericObjectVertexContainer)(boxGroup.vertexBufferContainer); GL32.glBindBuffer(GL32.GL_ARRAY_BUFFER, container.color); GL32.glEnableVertexAttribArray(1); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/generic/GenericObjectShaderProgram.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/generic/GlGenericObjectShaderProgram.java similarity index 91% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/generic/GenericObjectShaderProgram.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/generic/GlGenericObjectShaderProgram.java index 8635e7554..6340213c2 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/generic/GenericObjectShaderProgram.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/generic/GlGenericObjectShaderProgram.java @@ -1,4 +1,4 @@ -package com.seibel.distanthorizons.common.render.nativeGl.generic; +package com.seibel.distanthorizons.common.render.openGl.generic; import com.seibel.distanthorizons.api.interfaces.override.rendering.IDhApiGenericObjectShaderProgram; import com.seibel.distanthorizons.api.interfaces.render.IDhApiRenderableBoxGroup; @@ -7,23 +7,22 @@ import com.seibel.distanthorizons.api.objects.math.DhApiVec3d; import com.seibel.distanthorizons.api.objects.math.DhApiVec3i; import com.seibel.distanthorizons.api.objects.render.DhApiRenderableBox; import com.seibel.distanthorizons.api.objects.render.DhApiRenderableBoxGroupShading; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.shader.ShaderProgram; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.vertexAttribute.AbstractVertexAttribute; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.vertexAttribute.VertexPointer; +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.GlVertexPointer; import com.seibel.distanthorizons.common.wrappers.misc.LightMapWrapper; import com.seibel.distanthorizons.core.util.LodUtil; import com.seibel.distanthorizons.core.util.math.Mat4f; import com.seibel.distanthorizons.core.util.math.Vec3f; -import com.seibel.distanthorizons.core.wrapperInterfaces.misc.ILightMapWrapper; -public class GenericObjectShaderProgram extends ShaderProgram implements IDhApiGenericObjectShaderProgram +public class GlGenericObjectShaderProgram extends GlShaderProgram implements IDhApiGenericObjectShaderProgram { public static final String VERTEX_SHADER_INSTANCED_PATH = "shaders/genericObject/instanced/vert.vert"; public static final String VERTEX_SHADER_DIRECT_PATH = "shaders/genericObject/direct/vert.vert"; public static final String FRAGMENT_SHADER_INSTANCED_PATH = "shaders/genericObject/instanced/frag.frag"; public static final String FRAGMENT_SHADER_DIRECT_PATH = "shaders/genericObject/direct/frag.frag"; - public final AbstractVertexAttribute va; + public final GlAbstractVertexAttribute va; // shader uniforms @@ -53,7 +52,7 @@ public class GenericObjectShaderProgram extends ShaderProgram implements IDhApiG // constructor // //=============// - public GenericObjectShaderProgram(boolean useInstancedRendering) + public GlGenericObjectShaderProgram(boolean useInstancedRendering) { super( useInstancedRendering ? VERTEX_SHADER_INSTANCED_PATH : VERTEX_SHADER_DIRECT_PATH, @@ -61,10 +60,10 @@ public class GenericObjectShaderProgram extends ShaderProgram implements IDhApiG "vPosition" ); - this.va = AbstractVertexAttribute.create(); + this.va = GlAbstractVertexAttribute.create(); this.va.bind(); // Pos - this.va.setVertexAttribute(0, 0, VertexPointer.addVec3Pointer(false)); + this.va.setVertexAttribute(0, 0, GlVertexPointer.addVec3Pointer(false)); this.va.completeAndCheck(Float.BYTES * 3); this.directShaderTransformUniform = this.tryGetUniformLocation("uTransform"); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/generic/OpenGlGenericObjectVertexContainer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/generic/GlGenericObjectVertexContainer.java similarity index 95% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/generic/OpenGlGenericObjectVertexContainer.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/generic/GlGenericObjectVertexContainer.java index c2c6fc29b..48eb20f31 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/generic/OpenGlGenericObjectVertexContainer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/generic/GlGenericObjectVertexContainer.java @@ -1,4 +1,4 @@ -package com.seibel.distanthorizons.common.render.nativeGl.generic; +package com.seibel.distanthorizons.common.render.openGl.generic; import com.seibel.distanthorizons.api.objects.render.DhApiRenderableBox; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; @@ -17,7 +17,7 @@ import java.util.List; * * @see RenderableBoxGroup */ -public class OpenGlGenericObjectVertexContainer implements IDhGenericObjectVertexBufferContainer +public class GlGenericObjectVertexContainer implements IDhGenericObjectVertexBufferContainer { private static final DhLogger LOGGER = new DhLoggerBuilder().build(); @@ -106,7 +106,7 @@ public class OpenGlGenericObjectVertexContainer implements IDhGenericObjectVerte this.materialData[i] = box.material; } - this.state = OpenGlGenericObjectVertexContainer.EState.READY_TO_UPLOAD; + this.state = GlGenericObjectVertexContainer.EState.READY_TO_UPLOAD; } public void uploadDataToGpu() diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/GLProxy.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/GLProxy.java similarity index 97% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/GLProxy.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/GLProxy.java index 1e0280cc8..5a3b2af90 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/GLProxy.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/GLProxy.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.glObject; +package com.seibel.distanthorizons.common.render.openGl.glObject; import com.seibel.distanthorizons.api.enums.config.EDhApiGLErrorHandlingMode; import com.seibel.distanthorizons.api.enums.config.EDhApiGpuUploadMethod; @@ -26,10 +26,8 @@ import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.jar.EPlatform; import com.seibel.distanthorizons.core.logging.DhLogger; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; -import com.seibel.distanthorizons.core.util.TimerUtil; import com.seibel.distanthorizons.core.util.objects.GLMessages.*; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; -import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper; import com.seibel.distanthorizons.coreapi.ModInfo; import org.lwjgl.glfw.GLFW; import org.lwjgl.opengl.GL; @@ -40,9 +38,7 @@ import org.lwjgl.opengl.GLUtil; import java.io.PrintStream; import java.util.Collections; import java.util.Set; -import java.util.Timer; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentLinkedQueue; /** * A singleton that holds references to different openGL contexts diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/GLState.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/GLState.java similarity index 98% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/GLState.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/GLState.java index d3511539b..6107a7a24 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/GLState.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/GLState.java @@ -17,10 +17,10 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.glObject; +package com.seibel.distanthorizons.common.render.openGl.glObject; +import com.seibel.distanthorizons.common.render.openGl.glObject.enums.GLEnums; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; -import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import org.lwjgl.opengl.GL32; public class GLState implements AutoCloseable diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/DhFramebuffer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/GlDhFramebuffer.java similarity index 83% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/DhFramebuffer.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/GlDhFramebuffer.java index 3035e850d..24fd69a46 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/DhFramebuffer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/GlDhFramebuffer.java @@ -1,12 +1,10 @@ -package com.seibel.distanthorizons.common.render.nativeGl.glObject.texture; +package com.seibel.distanthorizons.common.render.openGl.glObject; import com.seibel.distanthorizons.api.interfaces.override.rendering.IDhApiFramebuffer; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; -import it.unimi.dsi.fastutil.ints.Int2IntArrayMap; -import it.unimi.dsi.fastutil.ints.Int2IntMap; import org.lwjgl.opengl.GL32; -public class DhFramebuffer implements IDhApiFramebuffer +public class GlDhFramebuffer implements IDhApiFramebuffer { private static final MinecraftGLWrapper GLMC = MinecraftGLWrapper.INSTANCE; @@ -19,10 +17,10 @@ public class DhFramebuffer implements IDhApiFramebuffer //=============// //region - public DhFramebuffer() { this.id = GL32.glGenFramebuffers(); } + public GlDhFramebuffer() { this.id = GL32.glGenFramebuffers(); } /** For internal use by Iris, do not remove. */ - public DhFramebuffer(int id) { this.id = id; } + public GlDhFramebuffer(int id) { this.id = id; } //endregion diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/OpenGlDummyUniformData.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/GlDummyUniformData.java similarity index 77% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/OpenGlDummyUniformData.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/GlDummyUniformData.java index 03df57f71..43f0f35c8 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/OpenGlDummyUniformData.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/GlDummyUniformData.java @@ -1,4 +1,4 @@ -package com.seibel.distanthorizons.common.render.nativeGl.glObject; +package com.seibel.distanthorizons.common.render.openGl.glObject; import com.seibel.distanthorizons.core.dataObjects.render.bufferBuilding.LodBufferContainer; import com.seibel.distanthorizons.core.wrapperInterfaces.render.objects.ILodContainerUniformBufferWrapper; @@ -7,7 +7,7 @@ import com.seibel.distanthorizons.core.wrapperInterfaces.render.objects.ILodCont * With OpenGL all uniform data is uploaded during the rendering phase * so nothing is needed here. */ -public class OpenGlDummyUniformData implements ILodContainerUniformBufferWrapper +public class GlDummyUniformData implements ILodContainerUniformBufferWrapper { @Override public void createUniformData(LodBufferContainer bufferContainer) { } @Override public void tryUpload() { } diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/buffer/GLBuffer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLBuffer.java similarity index 97% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/buffer/GLBuffer.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLBuffer.java index c9332b60e..8b62b5d37 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/buffer/GLBuffer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLBuffer.java @@ -17,13 +17,12 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.glObject.buffer; +package com.seibel.distanthorizons.common.render.openGl.glObject.buffer; import com.seibel.distanthorizons.api.enums.config.EDhApiGpuUploadMethod; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.GLProxy; +import com.seibel.distanthorizons.common.render.openGl.glObject.GLProxy; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; import com.seibel.distanthorizons.core.config.Config; -import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.logging.DhLogger; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; import com.seibel.distanthorizons.core.render.RenderThreadTaskHandler; diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/buffer/GLElementBuffer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLElementBuffer.java similarity index 95% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/buffer/GLElementBuffer.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLElementBuffer.java index d69818bf6..2f6c042bf 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/buffer/GLElementBuffer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLElementBuffer.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.glObject.buffer; +package com.seibel.distanthorizons.common.render.openGl.glObject.buffer; import org.lwjgl.opengl.GL32; diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/buffer/GLVertexBuffer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLVertexBuffer.java similarity index 95% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/buffer/GLVertexBuffer.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLVertexBuffer.java index 797331b37..5567c7cf2 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/buffer/GLVertexBuffer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLVertexBuffer.java @@ -17,11 +17,11 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.glObject.buffer; +package com.seibel.distanthorizons.common.render.openGl.glObject.buffer; import java.nio.ByteBuffer; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.GLProxy; +import com.seibel.distanthorizons.common.render.openGl.glObject.GLProxy; import com.seibel.distanthorizons.core.dataObjects.render.bufferBuilding.LodQuadBuilder; import com.seibel.distanthorizons.core.wrapperInterfaces.render.objects.IVertexBufferWrapper; import org.lwjgl.opengl.GL32; diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/buffer/QuadElementBuffer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GlQuadElementBuffer.java similarity index 94% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/buffer/QuadElementBuffer.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GlQuadElementBuffer.java index 953d4dae4..c0bcca307 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/buffer/QuadElementBuffer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GlQuadElementBuffer.java @@ -17,10 +17,10 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.glObject.buffer; +package com.seibel.distanthorizons.common.render.openGl.glObject.buffer; import com.seibel.distanthorizons.api.enums.config.EDhApiGpuUploadMethod; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.GLEnums; +import com.seibel.distanthorizons.common.render.openGl.glObject.enums.GLEnums; import com.seibel.distanthorizons.core.logging.DhLogger; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; import org.lwjgl.opengl.GL32; @@ -29,7 +29,7 @@ import org.lwjgl.system.MemoryUtil; import java.nio.ByteBuffer; /** AKA Index Buffer TODO RENAME */ -public class QuadElementBuffer extends GLElementBuffer +public class GlQuadElementBuffer extends GLElementBuffer { private static final DhLogger LOGGER = new DhLoggerBuilder().build(); @@ -40,7 +40,7 @@ public class QuadElementBuffer extends GLElementBuffer //=============// //region - public QuadElementBuffer() { super(false); } + public GlQuadElementBuffer() { super(false); } public void reserve(int quadCount) { diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/enums/EGlVersion.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/enums/EGlVersion.java new file mode 100644 index 000000000..2387ee8e8 --- /dev/null +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/enums/EGlVersion.java @@ -0,0 +1,9 @@ +package com.seibel.distanthorizons.common.render.openGl.glObject.enums; + +public enum EGlVersion +{ + GL_11, + GL_12, + GL_30, + GL_31 +} diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/GLEnums.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/enums/GLEnums.java similarity index 98% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/GLEnums.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/enums/GLEnums.java index f9fa9b921..36cdd09d2 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/GLEnums.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/enums/GLEnums.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.glObject; +package com.seibel.distanthorizons.common.render.openGl.glObject.enums; import static org.lwjgl.opengl.GL46.*; diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/shader/Shader.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/shader/GlShader.java similarity index 95% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/shader/Shader.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/shader/GlShader.java index cd2174386..52c568245 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/shader/Shader.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/shader/GlShader.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.glObject.shader; +package com.seibel.distanthorizons.common.render.openGl.glObject.shader; import java.io.BufferedReader; import java.io.FileInputStream; @@ -41,7 +41,7 @@ import org.lwjgl.system.NativeType; * This object holds a OpenGL reference to a shader * and allows for reading in and compiling a shader file. */ -public class Shader +public class GlShader { private static final DhLogger LOGGER = new DhLoggerBuilder() .fileLevelConfig(Config.Common.Logging.logRendererGLEventToFile) @@ -66,7 +66,7 @@ public class Shader * @param sourceString File path of the shader * @throws RuntimeException if the shader fails to compile */ - public Shader(int type, String sourceString) + public GlShader(int type, String sourceString) { LOGGER.info("Loading shader with type: ["+type+"]"); LOGGER.debug("Source: \n["+sourceString+"]"); @@ -154,7 +154,7 @@ public class Shader } else { - in = Shader.class.getClassLoader().getResourceAsStream(path); // Note: path seperator should be '/' + in = GlShader.class.getClassLoader().getResourceAsStream(path); // Note: path seperator should be '/' if (in == null) { throw new FileNotFoundException("Shader file not found in resource: " + path); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/shader/ShaderProgram.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/shader/GlShaderProgram.java similarity index 86% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/shader/ShaderProgram.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/shader/GlShaderProgram.java index 97ef510f4..011de6d41 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/shader/ShaderProgram.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/shader/GlShaderProgram.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.glObject.shader; +package com.seibel.distanthorizons.common.render.openGl.glObject.shader; import java.awt.Color; import java.nio.FloatBuffer; @@ -36,7 +36,7 @@ import com.seibel.distanthorizons.core.util.math.Vec3f; * The reason for many of these simple wrapper methods is as reminders of what * can (and needs to be) done with a shader program. */ -public class ShaderProgram +public class GlShaderProgram { /** Stores the handle of the program. */ public final int id; @@ -48,25 +48,25 @@ public class ShaderProgram //=============// //region - public ShaderProgram(String vertResourcePath, String fragResourcePath, String attribute) { this(vertResourcePath, fragResourcePath, new String[]{ attribute }); } + public GlShaderProgram(String vertResourcePath, String fragResourcePath, String attribute) { this(vertResourcePath, fragResourcePath, new String[]{ attribute }); } /** * @param vertResourcePath the relative path the vertex shader should be found * @param fragResourcePath the relative path the fragment shader should be found */ - public ShaderProgram(String vertResourcePath, String fragResourcePath, String[] attributes) + public GlShaderProgram(String vertResourcePath, String fragResourcePath, String[] attributes) { this.id = GL32.glCreateProgram(); { - String shaderString = Shader.loadFile(vertResourcePath, false); - Shader vertShader = new Shader(GL32.GL_VERTEX_SHADER, shaderString); + String shaderString = GlShader.loadFile(vertResourcePath, false); + GlShader vertShader = new GlShader(GL32.GL_VERTEX_SHADER, shaderString); GL32.glAttachShader(this.id, vertShader.id); vertShader.free(); } { - String shaderString = Shader.loadFile(fragResourcePath, false); - Shader fragShader = new Shader(GL32.GL_FRAGMENT_SHADER, shaderString); + String shaderString = GlShader.loadFile(fragResourcePath, false); + GlShader fragShader = new GlShader(GL32.GL_FRAGMENT_SHADER, shaderString); GL32.glAttachShader(this.id, fragShader.id); fragShader.free(); } @@ -167,27 +167,27 @@ public class ShaderProgram /** Requires a bound ShaderProgram. */ public void setUniform(int location, boolean value) { GL32.glUniform1i(location, value ? 1 : 0); } - /** @see ShaderProgram#setUniform(int, boolean) */ + /** @see GlShaderProgram#setUniform(int, boolean) */ public void trySetUniform(int location, boolean value) { if (location != -1) { this.setUniform(location, value); } } /** Requires a bound ShaderProgram. */ public void setUniform(int location, int value) { GL32.glUniform1i(location, value); } - /** @see ShaderProgram#setUniform(int, int) */ + /** @see GlShaderProgram#setUniform(int, int) */ public void trySetUniform(int location, int value) { if (location != -1) { this.setUniform(location, value); } } /** Requires a bound ShaderProgram. */ public void setUniform(int location, float value) { GL32.glUniform1f(location, value); } - /** @see ShaderProgram#setUniform(int, float) */ + /** @see GlShaderProgram#setUniform(int, float) */ public void trySetUniform(int location, float value) { if (location != -1) { this.setUniform(location, value); } } /** Requires a bound ShaderProgram. */ public void setUniform(int location, Vec3f value) { GL32.glUniform3f(location, value.x, value.y, value.z); } - /** @see ShaderProgram#setUniform(int, Vec3f) */ + /** @see GlShaderProgram#setUniform(int, Vec3f) */ public void trySetUniform(int location, Vec3f value) { if (location != -1) { this.setUniform(location, value); } } /** Requires a bound ShaderProgram. */ public void setUniform(int location, DhApiVec3i value) { GL32.glUniform3i(location, value.x, value.y, value.z); } - /** @see ShaderProgram#setUniform(int, Mat4f) */ + /** @see GlShaderProgram#setUniform(int, Mat4f) */ public void trySetUniform(int location, DhApiVec3i value) { if (location != -1) { this.setUniform(location, value); } } /** Requires a bound ShaderProgram. */ @@ -200,7 +200,7 @@ public class ShaderProgram GL32.glUniformMatrix4fv(location, false, buffer); } } - /** @see ShaderProgram#setUniform(int, Mat4f) */ + /** @see GlShaderProgram#setUniform(int, Mat4f) */ public void trySetUniform(int location, Mat4f value) { if (location != -1) { this.setUniform(location, value); } } /** @@ -215,7 +215,7 @@ public class ShaderProgram value.getBlue() / 256.0f, value.getAlpha() / 256.0f); } - /** @see ShaderProgram#setUniform(int, Color) */ + /** @see GlShaderProgram#setUniform(int, Color) */ public void trySetUniform(int location, Color value) { if (location != -1) { this.setUniform(location, value); } } //endregion diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/EDhDepthBufferFormat.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/texture/EGlDhDepthBufferFormat.java similarity index 71% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/EDhDepthBufferFormat.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/texture/EGlDhDepthBufferFormat.java index 734f4bb25..8b2dc5dcb 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/EDhDepthBufferFormat.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/texture/EGlDhDepthBufferFormat.java @@ -1,10 +1,10 @@ -package com.seibel.distanthorizons.common.render.nativeGl.glObject.texture; +package com.seibel.distanthorizons.common.render.openGl.glObject.texture; import org.jetbrains.annotations.Nullable; import org.lwjgl.opengl.GL30C; import org.lwjgl.opengl.GL43C; -public enum EDhDepthBufferFormat +public enum EGlDhDepthBufferFormat { DEPTH(false), DEPTH16(false), @@ -19,43 +19,43 @@ public enum EDhDepthBufferFormat private final boolean combinedStencil; - EDhDepthBufferFormat(boolean combinedStencil) { this.combinedStencil = combinedStencil; } + EGlDhDepthBufferFormat(boolean combinedStencil) { this.combinedStencil = combinedStencil; } @Nullable - public static EDhDepthBufferFormat fromGlEnum(int glenum) + public static EGlDhDepthBufferFormat fromGlEnum(int glenum) { switch (glenum) { case GL30C.GL_DEPTH_COMPONENT: - return EDhDepthBufferFormat.DEPTH; + return EGlDhDepthBufferFormat.DEPTH; case GL30C.GL_DEPTH_COMPONENT16: - return EDhDepthBufferFormat.DEPTH16; + return EGlDhDepthBufferFormat.DEPTH16; case GL30C.GL_DEPTH_COMPONENT24: - return EDhDepthBufferFormat.DEPTH24; + return EGlDhDepthBufferFormat.DEPTH24; case GL30C.GL_DEPTH_COMPONENT32: - return EDhDepthBufferFormat.DEPTH32; + return EGlDhDepthBufferFormat.DEPTH32; case GL30C.GL_DEPTH_COMPONENT32F: - return EDhDepthBufferFormat.DEPTH32F; + return EGlDhDepthBufferFormat.DEPTH32F; case GL30C.GL_DEPTH_STENCIL: - return EDhDepthBufferFormat.DEPTH_STENCIL; + return EGlDhDepthBufferFormat.DEPTH_STENCIL; case GL30C.GL_DEPTH24_STENCIL8: - return EDhDepthBufferFormat.DEPTH24_STENCIL8; + return EGlDhDepthBufferFormat.DEPTH24_STENCIL8; case GL30C.GL_DEPTH32F_STENCIL8: - return EDhDepthBufferFormat.DEPTH32F_STENCIL8; + return EGlDhDepthBufferFormat.DEPTH32F_STENCIL8; default: return null; } } - public static EDhDepthBufferFormat fromGlEnumOrDefault(int glenum) + public static EGlDhDepthBufferFormat fromGlEnumOrDefault(int glenum) { - EDhDepthBufferFormat format = fromGlEnum(glenum); + EGlDhDepthBufferFormat format = fromGlEnum(glenum); if (format == null) { // yolo, just assume it's GL_DEPTH_COMPONENT - return EDhDepthBufferFormat.DEPTH; + return EGlDhDepthBufferFormat.DEPTH; } return format; } diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/texture/EGlDhInternalTextureFormat.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/texture/EGlDhInternalTextureFormat.java new file mode 100644 index 000000000..c37999e6c --- /dev/null +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/texture/EGlDhInternalTextureFormat.java @@ -0,0 +1,131 @@ +package com.seibel.distanthorizons.common.render.openGl.glObject.texture; + +import com.seibel.distanthorizons.common.render.openGl.glObject.enums.EGlVersion; +import org.lwjgl.opengl.GL11C; +import org.lwjgl.opengl.GL30C; +import org.lwjgl.opengl.GL31C; + +import java.util.Locale; +import java.util.Optional; + +public enum EGlDhInternalTextureFormat +{ + RGBA(GL11C.GL_RGBA, EGlVersion.GL_11, EGlDhPixelFormat.RGBA), + + // 8-bit normalized + R8(GL30C.GL_R8, EGlVersion.GL_30, EGlDhPixelFormat.RED), + RG8(GL30C.GL_RG8, EGlVersion.GL_30, EGlDhPixelFormat.RG), + RGB8(GL11C.GL_RGB8, EGlVersion.GL_11, EGlDhPixelFormat.RGB), + RGBA8(GL11C.GL_RGBA8, EGlVersion.GL_11, EGlDhPixelFormat.RGBA), + + // 8-bit signed normalized + R8_SNORM(GL31C.GL_R8_SNORM, EGlVersion.GL_31, EGlDhPixelFormat.RED), + RG8_SNORM(GL31C.GL_RG8_SNORM, EGlVersion.GL_31, EGlDhPixelFormat.RG), + RGB8_SNORM(GL31C.GL_RGB8_SNORM, EGlVersion.GL_31, EGlDhPixelFormat.RGB), + RGBA8_SNORM(GL31C.GL_RGBA8_SNORM, EGlVersion.GL_31, EGlDhPixelFormat.RGBA), + + // 16-bit normalized + R16(GL30C.GL_R16, EGlVersion.GL_30, EGlDhPixelFormat.RED), + RG16(GL30C.GL_RG16, EGlVersion.GL_30, EGlDhPixelFormat.RG), + RGB16(GL11C.GL_RGB16, EGlVersion.GL_11, EGlDhPixelFormat.RGB), + RGBA16(GL11C.GL_RGBA16, EGlVersion.GL_11, EGlDhPixelFormat.RGBA), + + // 16-bit signed normalized + R16_SNORM(GL31C.GL_R16_SNORM, EGlVersion.GL_31, EGlDhPixelFormat.RED), + RG16_SNORM(GL31C.GL_RG16_SNORM, EGlVersion.GL_31, EGlDhPixelFormat.RG), + RGB16_SNORM(GL31C.GL_RGB16_SNORM, EGlVersion.GL_31, EGlDhPixelFormat.RGB), + RGBA16_SNORM(GL31C.GL_RGBA16_SNORM, EGlVersion.GL_31, EGlDhPixelFormat.RGBA), + + // 16-bit float + R16F(GL30C.GL_R16F, EGlVersion.GL_30, EGlDhPixelFormat.RED), + RG16F(GL30C.GL_RG16F, EGlVersion.GL_30, EGlDhPixelFormat.RG), + RGB16F(GL30C.GL_RGB16F, EGlVersion.GL_30, EGlDhPixelFormat.RGB), + RGBA16F(GL30C.GL_RGBA16F, EGlVersion.GL_30, EGlDhPixelFormat.RGBA), + + // 32-bit float + R32F(GL30C.GL_R32F, EGlVersion.GL_30, EGlDhPixelFormat.RED), + RG32F(GL30C.GL_RG32F, EGlVersion.GL_30, EGlDhPixelFormat.RG), + RGB32F(GL30C.GL_RGB32F, EGlVersion.GL_30, EGlDhPixelFormat.RGB), + RGBA32F(GL30C.GL_RGBA32F, EGlVersion.GL_30, EGlDhPixelFormat.RGBA), + + // 8-bit integer + R8I(GL30C.GL_R8I, EGlVersion.GL_30, EGlDhPixelFormat.RED_INTEGER), + RG8I(GL30C.GL_RG8I, EGlVersion.GL_30, EGlDhPixelFormat.RG_INTEGER), + RGB8I(GL30C.GL_RGB8I, EGlVersion.GL_30, EGlDhPixelFormat.RGB_INTEGER), + RGBA8I(GL30C.GL_RGBA8I, EGlVersion.GL_30, EGlDhPixelFormat.RGBA_INTEGER), + + // 8-bit unsigned integer + R8UI(GL30C.GL_R8UI, EGlVersion.GL_30, EGlDhPixelFormat.RED_INTEGER), + RG8UI(GL30C.GL_RG8UI, EGlVersion.GL_30, EGlDhPixelFormat.RG_INTEGER), + RGB8UI(GL30C.GL_RGB8UI, EGlVersion.GL_30, EGlDhPixelFormat.RGB_INTEGER), + RGBA8UI(GL30C.GL_RGBA8UI, EGlVersion.GL_30, EGlDhPixelFormat.RGBA_INTEGER), + + // 16-bit integer + R16I(GL30C.GL_R16I, EGlVersion.GL_30, EGlDhPixelFormat.RED_INTEGER), + RG16I(GL30C.GL_RG16I, EGlVersion.GL_30, EGlDhPixelFormat.RG_INTEGER), + RGB16I(GL30C.GL_RGB16I, EGlVersion.GL_30, EGlDhPixelFormat.RGB_INTEGER), + RGBA16I(GL30C.GL_RGBA16I, EGlVersion.GL_30, EGlDhPixelFormat.RGBA_INTEGER), + + // 16-bit unsigned integer + R16UI(GL30C.GL_R16UI, EGlVersion.GL_30, EGlDhPixelFormat.RED_INTEGER), + RG16UI(GL30C.GL_RG16UI, EGlVersion.GL_30, EGlDhPixelFormat.RG_INTEGER), + RGB16UI(GL30C.GL_RGB16UI, EGlVersion.GL_30, EGlDhPixelFormat.RGB_INTEGER), + RGBA16UI(GL30C.GL_RGBA16UI, EGlVersion.GL_30, EGlDhPixelFormat.RGBA_INTEGER), + + // 32-bit integer + R32I(GL30C.GL_R32I, EGlVersion.GL_30, EGlDhPixelFormat.RED_INTEGER), + RG32I(GL30C.GL_RG32I, EGlVersion.GL_30, EGlDhPixelFormat.RG_INTEGER), + RGB32I(GL30C.GL_RGB32I, EGlVersion.GL_30, EGlDhPixelFormat.RGB_INTEGER), + RGBA32I(GL30C.GL_RGBA32I, EGlVersion.GL_30, EGlDhPixelFormat.RGBA_INTEGER), + + // 32-bit unsigned integer + R32UI(GL30C.GL_R32UI, EGlVersion.GL_30, EGlDhPixelFormat.RED_INTEGER), + RG32UI(GL30C.GL_RG32UI, EGlVersion.GL_30, EGlDhPixelFormat.RG_INTEGER), + RGB32UI(GL30C.GL_RGB32UI, EGlVersion.GL_30, EGlDhPixelFormat.RGB_INTEGER), + RGBA32UI(GL30C.GL_RGBA32UI, EGlVersion.GL_30, EGlDhPixelFormat.RGBA_INTEGER), + + // Mixed + R3_G3_B2(GL11C.GL_R3_G3_B2, EGlVersion.GL_11, EGlDhPixelFormat.RGB), + RGB5_A1(GL11C.GL_RGB5_A1, EGlVersion.GL_11, EGlDhPixelFormat.RGBA), + RGB10_A2(GL11C.GL_RGB10_A2, EGlVersion.GL_11, EGlDhPixelFormat.RGBA), + R11F_G11F_B10F(GL30C.GL_R11F_G11F_B10F, EGlVersion.GL_30, EGlDhPixelFormat.RGB), + RGB9_E5(GL30C.GL_RGB9_E5, EGlVersion.GL_30, EGlDhPixelFormat.RGB); + + + + private final int glFormat; + private final EGlVersion minimumGlVersion; + private final EGlDhPixelFormat expectedPixelFormat; + + + + EGlDhInternalTextureFormat(int glFormat, EGlVersion minimumGlVersion, EGlDhPixelFormat expectedPixelFormat) + { + this.glFormat = glFormat; + this.minimumGlVersion = minimumGlVersion; + this.expectedPixelFormat = expectedPixelFormat; + } + + + + public static Optional fromString(String name) + { + try + { + return Optional.of(EGlDhInternalTextureFormat.valueOf(name.toUpperCase(Locale.US))); + } + catch (IllegalArgumentException e) + { + return Optional.empty(); + } + } + + public int getGlFormat() { return this.glFormat; } + + public EGlDhPixelFormat getPixelFormat() { return this.expectedPixelFormat; } + + public EGlVersion getMinimumGlVersion() { return this.minimumGlVersion; } + + + +} diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/EDhPixelFormat.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/texture/EGlDhPixelFormat.java similarity index 76% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/EDhPixelFormat.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/texture/EGlDhPixelFormat.java index 8427e62ea..989575037 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/EDhPixelFormat.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/texture/EGlDhPixelFormat.java @@ -1,5 +1,6 @@ -package com.seibel.distanthorizons.common.render.nativeGl.glObject.texture; +package com.seibel.distanthorizons.common.render.openGl.glObject.texture; +import com.seibel.distanthorizons.common.render.openGl.glObject.enums.EGlVersion; import org.lwjgl.opengl.GL11C; import org.lwjgl.opengl.GL12C; import org.lwjgl.opengl.GL30C; @@ -7,7 +8,7 @@ import org.lwjgl.opengl.GL30C; import java.util.Locale; import java.util.Optional; -public enum EDhPixelFormat +public enum EGlDhPixelFormat { RED(GL11C.GL_RED, EGlVersion.GL_11, false), RG(GL30C.GL_RG, EGlVersion.GL_30, false), @@ -30,7 +31,7 @@ public enum EDhPixelFormat - EDhPixelFormat(int glFormat, EGlVersion minimumGlVersion, boolean isInteger) + EGlDhPixelFormat(int glFormat, EGlVersion minimumGlVersion, boolean isInteger) { this.glFormat = glFormat; this.minimumGlVersion = minimumGlVersion; @@ -39,11 +40,11 @@ public enum EDhPixelFormat - public static Optional fromString(String name) + public static Optional fromString(String name) { try { - return Optional.of(EDhPixelFormat.valueOf(name.toUpperCase(Locale.US))); + return Optional.of(EGlDhPixelFormat.valueOf(name.toUpperCase(Locale.US))); } catch (IllegalArgumentException e) { diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/EDhPixelType.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/texture/EGlDhPixelType.java similarity index 82% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/EDhPixelType.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/texture/EGlDhPixelType.java index 5d3c5d176..0dd223131 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/EDhPixelType.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/texture/EGlDhPixelType.java @@ -1,5 +1,6 @@ -package com.seibel.distanthorizons.common.render.nativeGl.glObject.texture; +package com.seibel.distanthorizons.common.render.openGl.glObject.texture; +import com.seibel.distanthorizons.common.render.openGl.glObject.enums.EGlVersion; import org.lwjgl.opengl.GL11C; import org.lwjgl.opengl.GL12C; import org.lwjgl.opengl.GL30C; @@ -7,7 +8,7 @@ import org.lwjgl.opengl.GL30C; import java.util.Locale; import java.util.Optional; -public enum EDhPixelType +public enum EGlDhPixelType { BYTE(GL11C.GL_BYTE, EGlVersion.GL_11), SHORT(GL11C.GL_SHORT, EGlVersion.GL_11), @@ -37,7 +38,7 @@ public enum EDhPixelType - EDhPixelType(int glFormat, EGlVersion minimumGlVersion) + EGlDhPixelType(int glFormat, EGlVersion minimumGlVersion) { this.glFormat = glFormat; this.minimumGlVersion = minimumGlVersion; @@ -45,11 +46,11 @@ public enum EDhPixelType - public static Optional fromString(String name) + public static Optional fromString(String name) { try { - return Optional.of(EDhPixelType.valueOf(name.toUpperCase(Locale.US))); + return Optional.of(EGlDhPixelType.valueOf(name.toUpperCase(Locale.US))); } catch (IllegalArgumentException e) { diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/DhColorTexture.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/texture/GlDhColorTexture.java similarity index 82% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/DhColorTexture.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/texture/GlDhColorTexture.java index 4b4a8cf1b..226022126 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/DhColorTexture.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/texture/GlDhColorTexture.java @@ -1,4 +1,4 @@ -package com.seibel.distanthorizons.common.render.nativeGl.glObject.texture; +package com.seibel.distanthorizons.common.render.openGl.glObject.texture; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; import org.joml.Vector2i; @@ -8,14 +8,14 @@ import org.lwjgl.opengl.GL43C; import java.nio.ByteBuffer; -public class DhColorTexture +public class GlDhColorTexture { private static final MinecraftGLWrapper GLMC = MinecraftGLWrapper.INSTANCE; - private final EDhInternalTextureFormat internalFormat; - private final EDhPixelFormat format; - private final EDhPixelType type; + private final EGlDhInternalTextureFormat internalFormat; + private final EGlDhPixelFormat format; + private final EGlDhPixelType type; private int width; private int height; @@ -31,7 +31,7 @@ public class DhColorTexture // constructor // //=============// - public DhColorTexture(Builder builder) + public GlDhColorTexture(Builder builder) { this.isValid = true; @@ -91,7 +91,7 @@ public class DhColorTexture this.resizeTexture(this.id, width, height); } - public EDhInternalTextureFormat getInternalFormat() { return this.internalFormat; } + public EGlDhInternalTextureFormat getInternalFormat() { return this.internalFormat; } public int getTextureId() { @@ -130,18 +130,18 @@ public class DhColorTexture public static class Builder { - private EDhInternalTextureFormat internalFormat = EDhInternalTextureFormat.RGBA8; + private EGlDhInternalTextureFormat internalFormat = EGlDhInternalTextureFormat.RGBA8; private int width = 0; private int height = 0; - private EDhPixelFormat format = EDhPixelFormat.RGBA; - private EDhPixelType type = EDhPixelType.UNSIGNED_BYTE; + private EGlDhPixelFormat format = EGlDhPixelFormat.RGBA; + private EGlDhPixelType type = EGlDhPixelType.UNSIGNED_BYTE; private Builder() { // No-op } - public Builder setInternalFormat(EDhInternalTextureFormat format) + public Builder setInternalFormat(EGlDhInternalTextureFormat format) { this.internalFormat = format; return this; @@ -165,19 +165,19 @@ public class DhColorTexture return this; } - public Builder setPixelFormat(EDhPixelFormat pixelFormat) + public Builder setPixelFormat(EGlDhPixelFormat pixelFormat) { this.format = pixelFormat; return this; } - public Builder setPixelType(EDhPixelType pixelType) + public Builder setPixelType(EGlDhPixelType pixelType) { this.type = pixelType; return this; } - public DhColorTexture build() { return new DhColorTexture(this); } + public GlDhColorTexture build() { return new GlDhColorTexture(this); } } } diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/DHDepthTexture.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/texture/GlDhDepthTexture.java similarity index 83% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/DHDepthTexture.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/texture/GlDhDepthTexture.java index f687f7941..0de544062 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/texture/DHDepthTexture.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/texture/GlDhDepthTexture.java @@ -1,4 +1,4 @@ -package com.seibel.distanthorizons.common.render.nativeGl.glObject.texture; +package com.seibel.distanthorizons.common.render.openGl.glObject.texture; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; import org.lwjgl.opengl.GL11C; @@ -7,13 +7,13 @@ import org.lwjgl.opengl.GL43C; import java.nio.ByteBuffer; -public class DHDepthTexture +public class GlDhDepthTexture { private static final MinecraftGLWrapper GLMC = MinecraftGLWrapper.INSTANCE; private int id; - public DHDepthTexture(int width, int height, EDhDepthBufferFormat format) + public GlDhDepthTexture(int width, int height, EGlDhDepthBufferFormat format) { this.id = GL43C.glGenTextures(); @@ -32,9 +32,9 @@ public class DHDepthTexture } // For internal use by Iris for copying data. Do not use this in DH. - public DHDepthTexture(int id) { this.id = id; } + public GlDhDepthTexture(int id) { this.id = id; } - public void resize(int width, int height, EDhDepthBufferFormat format) + public void resize(int width, int height, EGlDhDepthBufferFormat format) { GL43C.glBindTexture(GL43C.GL_TEXTURE_2D, this.getTextureId()); GL43C.glTexImage2D(GL11C.GL_TEXTURE_2D, 0, format.getGlInternalFormat(), width, height, 0, diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/vertexAttribute/AbstractVertexAttribute.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/vertexAttribute/GlAbstractVertexAttribute.java similarity index 83% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/vertexAttribute/AbstractVertexAttribute.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/vertexAttribute/GlAbstractVertexAttribute.java index 224ad8b0b..a599dc96d 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/vertexAttribute/AbstractVertexAttribute.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/vertexAttribute/GlAbstractVertexAttribute.java @@ -17,18 +17,18 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.glObject.vertexAttribute; +package com.seibel.distanthorizons.common.render.openGl.glObject.vertexAttribute; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.GLProxy; +import com.seibel.distanthorizons.common.render.openGl.glObject.GLProxy; import org.lwjgl.opengl.GL32; /** * Base for binding/unbinding Vertex Attribute objects (VAO's). * - * @see VertexAttributePostGL43 - * @see VertexAttributePreGL43 + * @see GlVertexAttributePostGL43 + * @see GlVertexAttributePreGL43 */ -public abstract class AbstractVertexAttribute +public abstract class GlAbstractVertexAttribute { /** Stores the handle of the AbstractVertexAttribute. */ public final int id; @@ -40,21 +40,21 @@ public abstract class AbstractVertexAttribute //==============// // This will bind AbstractVertexAttribute - protected AbstractVertexAttribute() + protected GlAbstractVertexAttribute() { this.id = GL32.glGenVertexArrays(); GL32.glBindVertexArray(this.id); } - public static AbstractVertexAttribute create() + public static GlAbstractVertexAttribute create() { if (GLProxy.getInstance().vertexAttributeBufferBindingSupported) { - return new VertexAttributePostGL43(); + return new GlVertexAttributePostGL43(); } else { - return new VertexAttributePreGL43(); + return new GlVertexAttributePreGL43(); } } @@ -85,7 +85,7 @@ public abstract class AbstractVertexAttribute /** Requires both AbstractVertexAttribute to be bound */ public abstract void unbindBuffersFromBindingPoint(int bindingPoint); /** Requires both AbstractVertexAttribute to be bound */ - public abstract void setVertexAttribute(int bindingPoint, int attributeIndex, VertexPointer attribute); + public abstract void setVertexAttribute(int bindingPoint, int attributeIndex, GlVertexPointer attribute); /** Requires both AbstractVertexAttribute to be bound */ public abstract void completeAndCheck(int expectedStrideSize); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/vertexAttribute/VertexAttributePostGL43.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/vertexAttribute/GlVertexAttributePostGL43.java similarity index 93% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/vertexAttribute/VertexAttributePostGL43.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/vertexAttribute/GlVertexAttributePostGL43.java index 7733fbf50..9a2328212 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/vertexAttribute/VertexAttributePostGL43.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/vertexAttribute/GlVertexAttributePostGL43.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.glObject.vertexAttribute; +package com.seibel.distanthorizons.common.render.openGl.glObject.vertexAttribute; import com.seibel.distanthorizons.core.config.Config; import com.seibel.distanthorizons.core.logging.DhLogger; @@ -33,7 +33,7 @@ import org.lwjgl.opengl.GL43; * Since I no longer need to implement binding points, I also no * longer needs to keep track of Pointers. */ -public final class VertexAttributePostGL43 extends AbstractVertexAttribute +public final class GlVertexAttributePostGL43 extends GlAbstractVertexAttribute { private static final DhLogger LOGGER = new DhLoggerBuilder() .fileLevelConfig(Config.Common.Logging.logRendererGLEventToFile) @@ -50,8 +50,8 @@ public final class VertexAttributePostGL43 extends AbstractVertexAttribute // constructor // //=============// - /** This will bind the {@link AbstractVertexAttribute} */ - public VertexAttributePostGL43() + /** This will bind the {@link GlAbstractVertexAttribute} */ + public GlVertexAttributePostGL43() { super(); // also bind AbstractVertexAttribute } @@ -110,7 +110,7 @@ public final class VertexAttributePostGL43 extends AbstractVertexAttribute /** Requires AbstractVertexAttribute to be bound */ @Override - public void setVertexAttribute(int bindingPoint, int attributeIndex, VertexPointer attribute) + public void setVertexAttribute(int bindingPoint, int attributeIndex, GlVertexPointer attribute) { if (attribute.useInteger) { diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/vertexAttribute/VertexAttributePreGL43.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/vertexAttribute/GlVertexAttributePreGL43.java similarity index 90% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/vertexAttribute/VertexAttributePreGL43.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/vertexAttribute/GlVertexAttributePreGL43.java index 5c18b2b13..49ded30cc 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/glObject/vertexAttribute/VertexAttributePreGL43.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/vertexAttribute/GlVertexAttributePreGL43.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.glObject.vertexAttribute; +package com.seibel.distanthorizons.common.render.openGl.glObject.vertexAttribute; import java.util.ArrayList; import java.util.Iterator; @@ -30,7 +30,7 @@ import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; import org.lwjgl.opengl.GL32; -public final class VertexAttributePreGL43 extends AbstractVertexAttribute +public final class GlVertexAttributePreGL43 extends GlAbstractVertexAttribute { private static final DhLogger LOGGER = new DhLoggerBuilder() .fileLevelConfig(Config.Common.Logging.logRendererGLEventToFile) @@ -42,11 +42,11 @@ public final class VertexAttributePreGL43 extends AbstractVertexAttribute // happen every frame, and the speed directly affects fps int strideSize = 0; int[][] bindingPointsToIndex; - VertexPointer[] pointers; + GlVertexPointer[] pointers; int[] pointersOffset; TreeMap> bindingPointsToIndexBuilder; - ArrayList pointersBuilder; + ArrayList pointersBuilder; @@ -54,8 +54,8 @@ public final class VertexAttributePreGL43 extends AbstractVertexAttribute // constructor // //=============// - /** This will bind the {@link AbstractVertexAttribute} */ - public VertexAttributePreGL43() + /** This will bind the {@link GlAbstractVertexAttribute} */ + public GlVertexAttributePreGL43() { super(); // also bind AbstractVertexAttribute this.bindingPointsToIndexBuilder = new TreeMap<>(); @@ -79,7 +79,7 @@ public final class VertexAttributePreGL43 extends AbstractVertexAttribute for (int i = 0; i < this.pointers.length; i++) { - VertexPointer pointer = this.pointers[i]; + GlVertexPointer pointer = this.pointers[i]; if (pointer == null) { continue; @@ -111,7 +111,7 @@ public final class VertexAttributePreGL43 extends AbstractVertexAttribute for (int bindingPointIndex : bindingPointIndexes) { - VertexPointer pointer = this.pointers[bindingPointIndex]; + GlVertexPointer pointer = this.pointers[bindingPointIndex]; if (pointer == null) { continue; @@ -166,7 +166,7 @@ public final class VertexAttributePreGL43 extends AbstractVertexAttribute /** Requires AbstractVertexAttribute to be bound */ @Override - public void setVertexAttribute(int bindingPoint, int attributeIndex, VertexPointer attribute) + public void setVertexAttribute(int bindingPoint, int attributeIndex, GlVertexPointer attribute) { TreeSet intArray = this.bindingPointsToIndexBuilder.computeIfAbsent(bindingPoint, k -> new TreeSet<>()); intArray.add(attributeIndex); @@ -203,7 +203,7 @@ public final class VertexAttributePreGL43 extends AbstractVertexAttribute } }); - this.pointers = this.pointersBuilder.toArray(new VertexPointer[this.pointersBuilder.size()]); + this.pointers = this.pointersBuilder.toArray(new GlVertexPointer[this.pointersBuilder.size()]); this.pointersOffset = new int[this.pointers.length]; this.pointersBuilder = null; // Release the builder this.bindingPointsToIndexBuilder = null; // Release the builder @@ -212,7 +212,7 @@ public final class VertexAttributePreGL43 extends AbstractVertexAttribute int currentOffset = 0; for (int i = 0; i < this.pointers.length; i++) { - VertexPointer pointer = this.pointers[i]; + GlVertexPointer pointer = this.pointers[i]; if (pointer == null) { LOGGER.warn("Vertex Attribute index " + i + " is not set! No index should be skipped normally!"); @@ -236,7 +236,7 @@ public final class VertexAttributePreGL43 extends AbstractVertexAttribute for (int i = 0; i < this.pointers.length; i++) { - VertexPointer pointer = this.pointers[i]; + GlVertexPointer pointer = this.pointers[i]; if (pointer == null) { LOGGER.debug(i + ": Null!!!!"); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/vertexAttribute/GlVertexPointer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/vertexAttribute/GlVertexPointer.java new file mode 100644 index 000000000..6fca75b10 --- /dev/null +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/vertexAttribute/GlVertexPointer.java @@ -0,0 +1,72 @@ +/* + * This file is part of the Distant Horizons mod + * licensed under the GNU LGPL v3 License. + * + * Copyright (C) 2020 James Seibel + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ + +package com.seibel.distanthorizons.common.render.openGl.glObject.vertexAttribute; + +import com.seibel.distanthorizons.coreapi.util.MathUtil; +import org.lwjgl.opengl.GL32; + +public final class GlVertexPointer +{ + public final int elementCount; + public final int glType; + public final boolean normalized; + public final int byteSize; + public final boolean useInteger; + + + + // basic constructors // + + public GlVertexPointer(int elementCount, int glType, boolean normalized, int byteSize, boolean useInteger) + { + this.elementCount = elementCount; + this.glType = glType; + this.normalized = normalized; + this.byteSize = byteSize; + this.useInteger = useInteger; + } + public GlVertexPointer(int elementCount, int glType, boolean normalized, int byteSize) + { + this(elementCount, glType, normalized, byteSize, false); + } + private static int _align(int bytes) { return MathUtil.ceilDiv(bytes, 4) * 4; } + + + + // named constructors // + + public static GlVertexPointer addFloatPointer(boolean normalized) { return new GlVertexPointer(1, GL32.GL_FLOAT, normalized, Float.BYTES); } + public static GlVertexPointer addVec2Pointer(boolean normalized) { return new GlVertexPointer(2, GL32.GL_FLOAT, normalized, Float.BYTES * 2); } + public static GlVertexPointer addVec3Pointer(boolean normalized) { return new GlVertexPointer(3, GL32.GL_FLOAT, normalized, Float.BYTES * 3); } + public static GlVertexPointer addVec4Pointer(boolean normalized) { return new GlVertexPointer(4, GL32.GL_FLOAT, normalized, Float.BYTES * 4); } + /** Always aligned to 4 bytes */ + public static GlVertexPointer addUnsignedBytePointer(boolean normalized, boolean useInteger) { return new GlVertexPointer(1, GL32.GL_UNSIGNED_BYTE, normalized, 4, useInteger); } + /** aligned to 4 bytes */ + public static GlVertexPointer addUnsignedBytesPointer(int elementCount, boolean normalized, boolean useInteger) + { return new GlVertexPointer(elementCount, GL32.GL_UNSIGNED_BYTE, normalized, _align(elementCount), useInteger); } + public static GlVertexPointer addUnsignedShortsPointer(int elementCount, boolean normalized, boolean useInteger) + { return new GlVertexPointer(elementCount, GL32.GL_UNSIGNED_SHORT, normalized, _align(elementCount * 2), useInteger); } + public static GlVertexPointer addShortsPointer(int elementCount, boolean normalized, boolean useInteger) { return new GlVertexPointer(elementCount, GL32.GL_SHORT, normalized, _align(elementCount * 2), useInteger); } + public static GlVertexPointer addIntPointer(boolean normalized, boolean useInteger) { return new GlVertexPointer(1, GL32.GL_INT, normalized, 4, useInteger); } + public static GlVertexPointer addIVec2Pointer(boolean normalized, boolean useInteger) { return new GlVertexPointer(2, GL32.GL_INT, normalized, 8, useInteger); } + public static GlVertexPointer addIVec3Pointer(boolean normalized, boolean useInteger) { return new GlVertexPointer(3, GL32.GL_INT, normalized, 12, useInteger); } + public static GlVertexPointer addIVec4Pointer(boolean normalized, boolean useInteger) { return new GlVertexPointer(4, GL32.GL_INT, normalized, 16, useInteger); } + +} diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/ScreenQuad.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/GlScreenQuad.java similarity index 78% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/ScreenQuad.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/GlScreenQuad.java index f42223b94..5441d59d9 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/ScreenQuad.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/GlScreenQuad.java @@ -17,12 +17,12 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.postProcessing; +package com.seibel.distanthorizons.common.render.openGl.postProcessing; import com.seibel.distanthorizons.api.enums.config.EDhApiGpuUploadMethod; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.buffer.GLVertexBuffer; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.vertexAttribute.AbstractVertexAttribute; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.vertexAttribute.VertexPointer; +import com.seibel.distanthorizons.common.render.openGl.glObject.buffer.GLVertexBuffer; +import com.seibel.distanthorizons.common.render.openGl.glObject.vertexAttribute.GlAbstractVertexAttribute; +import com.seibel.distanthorizons.common.render.openGl.glObject.vertexAttribute.GlVertexPointer; import org.lwjgl.opengl.GL32; import org.lwjgl.system.MemoryUtil; @@ -32,9 +32,9 @@ import java.nio.ByteBuffer; * Renders a full-screen textured quad to the screen. * Used in composite / deferred rendering (IE fog). */ -public class ScreenQuad +public class GlScreenQuad { - public static ScreenQuad INSTANCE = new ScreenQuad(); + public static GlScreenQuad INSTANCE = new GlScreenQuad(); private static final float[] BOX_VERTICES = { -1, -1, @@ -47,7 +47,7 @@ public class ScreenQuad }; private GLVertexBuffer boxBuffer; - private AbstractVertexAttribute va; + private GlAbstractVertexAttribute va; private boolean init = false; @@ -57,18 +57,18 @@ public class ScreenQuad //=============// //region - private ScreenQuad() { } + private GlScreenQuad() { } public void init() { if (this.init) return; this.init = true; - this.va = AbstractVertexAttribute.create(); + this.va = GlAbstractVertexAttribute.create(); this.va.bind(); // Pos - this.va.setVertexAttribute(0, 0, VertexPointer.addVec2Pointer(false)); + this.va.setVertexAttribute(0, 0, GlVertexPointer.addVec2Pointer(false)); this.va.completeAndCheck(Float.BYTES * 2); // Framebuffer diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/apply/DhApplyShader.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/apply/GlDhApplyShader.java similarity index 79% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/apply/DhApplyShader.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/apply/GlDhApplyShader.java index 67a14ff8a..7407d0379 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/apply/DhApplyShader.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/apply/GlDhApplyShader.java @@ -17,25 +17,24 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.postProcessing.apply; +package com.seibel.distanthorizons.common.render.openGl.postProcessing.apply; -import com.seibel.distanthorizons.common.render.nativeGl.DhTerrainShaderProgram; -import com.seibel.distanthorizons.common.render.nativeGl.OpenGlDhMetaRenderer; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.GLState; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.shader.ShaderProgram; -import com.seibel.distanthorizons.common.render.nativeGl.postProcessing.ScreenQuad; +import com.seibel.distanthorizons.common.render.openGl.GlDhMetaRenderer; +import com.seibel.distanthorizons.common.render.openGl.glObject.GLState; +import com.seibel.distanthorizons.common.render.openGl.glObject.shader.GlShaderProgram; +import com.seibel.distanthorizons.common.render.openGl.postProcessing.GlScreenQuad; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; -import com.seibel.distanthorizons.common.render.nativeGl.util.AbstractShaderRenderer; +import com.seibel.distanthorizons.common.render.openGl.util.GlAbstractShaderRenderer; import com.seibel.distanthorizons.core.logging.DhLogger; import org.lwjgl.opengl.GL32; /** * Copies {@link com.seibel.distanthorizons.core.render.renderer.LodRenderer}'s currently active color and depth texture to Minecraft's framebuffer. */ -public class DhApplyShader extends AbstractShaderRenderer +public class GlDhApplyShader extends GlAbstractShaderRenderer { - public static DhApplyShader INSTANCE = new DhApplyShader(); + public static GlDhApplyShader INSTANCE = new GlDhApplyShader(); private static final DhLogger LOGGER = new DhLoggerBuilder().build(); private static final MinecraftGLWrapper GLMC = MinecraftGLWrapper.INSTANCE; @@ -52,12 +51,12 @@ public class DhApplyShader extends AbstractShaderRenderer //=======// //region - private DhApplyShader() { } + private GlDhApplyShader() { } @Override public void onInit() { - this.shader = new ShaderProgram( + this.shader = new GlShaderProgram( "shaders/quadApply.vert", "shaders/apply.frag", "vPosition" @@ -115,17 +114,17 @@ public class DhApplyShader extends AbstractShaderRenderer //GLMC.glBlendFunc(GL32.GL_ONE, GL32.GL_ONE_MINUS_SRC_ALPHA); GLMC.glActiveTexture(GL32.GL_TEXTURE0); - GLMC.glBindTexture(OpenGlDhMetaRenderer.INSTANCE.getActiveColorTextureId()); + GLMC.glBindTexture(GlDhMetaRenderer.INSTANCE.getActiveColorTextureId()); GL32.glUniform1i(this.gDhColorTextureUniform, 0); GLMC.glActiveTexture(GL32.GL_TEXTURE1); - GLMC.glBindTexture(OpenGlDhMetaRenderer.INSTANCE.getActiveDepthTextureId()); + GLMC.glBindTexture(GlDhMetaRenderer.INSTANCE.getActiveDepthTextureId()); GL32.glUniform1i(this.gDepthMapUniform, 1); // Copy to MC's framebuffer GLMC.glBindFramebuffer(GL32.GL_FRAMEBUFFER, targetFrameBuffer); - ScreenQuad.INSTANCE.render(); + GlScreenQuad.INSTANCE.render(); } // everything's been restored, except at this point the MC framebuffer should now be used instead GLMC.glBindFramebuffer(GL32.GL_FRAMEBUFFER, targetFrameBuffer); @@ -139,7 +138,7 @@ public class DhApplyShader extends AbstractShaderRenderer return; } - int dhFrameBufferId = OpenGlDhMetaRenderer.INSTANCE.getActiveFramebufferId(); + int dhFrameBufferId = GlDhMetaRenderer.INSTANCE.getActiveFramebufferId(); if (dhFrameBufferId == -1) { return; @@ -163,11 +162,11 @@ public class DhApplyShader extends AbstractShaderRenderer GLMC.disableBlend(); GLMC.glActiveTexture(GL32.GL_TEXTURE0); - GLMC.glBindTexture(OpenGlDhMetaRenderer.INSTANCE.getActiveColorTextureId()); + GLMC.glBindTexture(GlDhMetaRenderer.INSTANCE.getActiveColorTextureId()); GL32.glUniform1i(this.gDhColorTextureUniform, 0); GLMC.glActiveTexture(GL32.GL_TEXTURE1); - GLMC.glBindTexture(OpenGlDhMetaRenderer.INSTANCE.getActiveDepthTextureId()); + GLMC.glBindTexture(GlDhMetaRenderer.INSTANCE.getActiveDepthTextureId()); GL32.glUniform1i(this.gDepthMapUniform, 1); @@ -177,7 +176,7 @@ public class DhApplyShader extends AbstractShaderRenderer // Copy to MC's texture via MC's framebuffer GLMC.glBindFramebuffer(GL32.GL_FRAMEBUFFER, dhFrameBufferId); - ScreenQuad.INSTANCE.render(); + GlScreenQuad.INSTANCE.render(); } // everything's been restored, except at this point the MC framebuffer should now be used instead GLMC.glBindFramebuffer(GL32.GL_FRAMEBUFFER, mcFrameBufferId); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fade/DhFarFadeApplyShader.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fade/GlDhFarFadeApplyShader.java similarity index 79% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fade/DhFarFadeApplyShader.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fade/GlDhFarFadeApplyShader.java index 9dfb15879..9e7c47ba1 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fade/DhFarFadeApplyShader.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fade/GlDhFarFadeApplyShader.java @@ -17,12 +17,12 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.postProcessing.fade; +package com.seibel.distanthorizons.common.render.openGl.postProcessing.fade; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.shader.ShaderProgram; -import com.seibel.distanthorizons.common.render.nativeGl.postProcessing.ScreenQuad; +import com.seibel.distanthorizons.common.render.openGl.glObject.shader.GlShaderProgram; +import com.seibel.distanthorizons.common.render.openGl.postProcessing.GlScreenQuad; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; -import com.seibel.distanthorizons.common.render.nativeGl.util.AbstractShaderRenderer; +import com.seibel.distanthorizons.common.render.openGl.util.GlAbstractShaderRenderer; import com.seibel.distanthorizons.core.render.RenderParams; import org.lwjgl.opengl.GL32; @@ -30,12 +30,12 @@ import org.lwjgl.opengl.GL32; * Draws the Fade texture onto Minecraft's FrameBuffer.

* * See Also:
- * {@link VanillaFadeRenderer} - Parent to this shader.
- * {@link VanillaFadeShader} - draws the Fade texture.
+ * {@link GlVanillaFadeRenderer} - Parent to this shader.
+ * {@link GlDhVanillaFadeShader} - draws the Fade texture.
*/ -public class DhFarFadeApplyShader extends AbstractShaderRenderer +public class GlDhFarFadeApplyShader extends GlAbstractShaderRenderer { - public static DhFarFadeApplyShader INSTANCE = new DhFarFadeApplyShader(); + public static GlDhFarFadeApplyShader INSTANCE = new GlDhFarFadeApplyShader(); private static final MinecraftGLWrapper GLMC = MinecraftGLWrapper.INSTANCE; @@ -58,7 +58,7 @@ public class DhFarFadeApplyShader extends AbstractShaderRenderer @Override public void onInit() { - this.shader = new ShaderProgram( + this.shader = new GlShaderProgram( "shaders/quadApply.vert", "shaders/fade/apply.frag", "vPosition" @@ -105,7 +105,7 @@ public class DhFarFadeApplyShader extends AbstractShaderRenderer GLMC.glBindFramebuffer(GL32.GL_READ_FRAMEBUFFER, this.readFramebuffer); GLMC.glBindFramebuffer(GL32.GL_DRAW_FRAMEBUFFER, this.drawFramebuffer); - ScreenQuad.INSTANCE.render(); + GlScreenQuad.INSTANCE.render(); GLMC.enableDepthTest(); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fade/DhFarFadeRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fade/GlDhFarFadeRenderer.java similarity index 75% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fade/DhFarFadeRenderer.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fade/GlDhFarFadeRenderer.java index cb3800aa8..f9a7d7960 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fade/DhFarFadeRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fade/GlDhFarFadeRenderer.java @@ -17,10 +17,9 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.postProcessing.fade; +package com.seibel.distanthorizons.common.render.openGl.postProcessing.fade; -import com.seibel.distanthorizons.common.render.nativeGl.DhTerrainShaderProgram; -import com.seibel.distanthorizons.common.render.nativeGl.OpenGlDhMetaRenderer; +import com.seibel.distanthorizons.common.render.openGl.GlDhMetaRenderer; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.logging.DhLogger; @@ -34,15 +33,15 @@ import org.lwjgl.opengl.GL43C; import java.nio.ByteBuffer; /** - * Handles fading MC and DH together via {@link DhFarFadeShader} and {@link DhFarFadeApplyShader}.

+ * Handles fading MC and DH together via {@link GlDhFarFadeShader} and {@link GlDhFarFadeApplyShader}.

* - * {@link DhFarFadeShader} - draws the Fade to a texture.
- * {@link DhFarFadeApplyShader} - draws the Fade texture to DH's framebuffer.
+ * {@link GlDhFarFadeShader} - draws the Fade to a texture.
+ * {@link GlDhFarFadeApplyShader} - draws the Fade texture to DH's framebuffer.
*/ -public class DhFarFadeRenderer implements IDhFarFadeRenderer +public class GlDhFarFadeRenderer implements IDhFarFadeRenderer { - public static DhFarFadeRenderer INSTANCE = new DhFarFadeRenderer(); + public static GlDhFarFadeRenderer INSTANCE = new GlDhFarFadeRenderer(); private static final DhLogger LOGGER = new DhLoggerBuilder().build(); private static final IMinecraftRenderWrapper MC_RENDER = SingletonInjector.INSTANCE.get(IMinecraftRenderWrapper.class); @@ -64,15 +63,15 @@ public class DhFarFadeRenderer implements IDhFarFadeRenderer //=============// //region - private DhFarFadeRenderer() { } + private GlDhFarFadeRenderer() { } public void init() { if (this.init) return; this.init = true; - DhFarFadeShader.INSTANCE.init(); - DhFarFadeApplyShader.INSTANCE.init(); + GlDhFarFadeShader.INSTANCE.init(); + GlDhFarFadeApplyShader.INSTANCE.init(); } private void createFramebuffer(int width, int height) @@ -138,16 +137,16 @@ public class DhFarFadeRenderer implements IDhFarFadeRenderer } - DhFarFadeShader.INSTANCE.frameBuffer = this.fadeFramebuffer; - DhFarFadeShader.INSTANCE.setProjectionMatrix(renderParams.mcModelViewMatrix, renderParams.mcProjectionMatrix); - DhFarFadeShader.INSTANCE.render(renderParams); + GlDhFarFadeShader.INSTANCE.frameBuffer = this.fadeFramebuffer; + GlDhFarFadeShader.INSTANCE.setProjectionMatrix(renderParams.mcModelViewMatrix, renderParams.mcProjectionMatrix); + GlDhFarFadeShader.INSTANCE.render(renderParams); //profiler.popPush("Fade Apply"); - DhFarFadeApplyShader.INSTANCE.fadeTexture = this.fadeTexture; - DhFarFadeApplyShader.INSTANCE.readFramebuffer = DhFarFadeShader.INSTANCE.frameBuffer; - DhFarFadeApplyShader.INSTANCE.drawFramebuffer = OpenGlDhMetaRenderer.INSTANCE.getActiveFramebufferId(); - DhFarFadeApplyShader.INSTANCE.render(renderParams); + GlDhFarFadeApplyShader.INSTANCE.fadeTexture = this.fadeTexture; + GlDhFarFadeApplyShader.INSTANCE.readFramebuffer = GlDhFarFadeShader.INSTANCE.frameBuffer; + GlDhFarFadeApplyShader.INSTANCE.drawFramebuffer = GlDhMetaRenderer.INSTANCE.getActiveFramebufferId(); + GlDhFarFadeApplyShader.INSTANCE.render(renderParams); } catch (Exception e) { diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fade/DhFarFadeShader.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fade/GlDhFarFadeShader.java similarity index 84% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fade/DhFarFadeShader.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fade/GlDhFarFadeShader.java index e3d854937..62f99ea42 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fade/DhFarFadeShader.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fade/GlDhFarFadeShader.java @@ -17,25 +17,24 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.postProcessing.fade; +package com.seibel.distanthorizons.common.render.openGl.postProcessing.fade; import com.seibel.distanthorizons.api.objects.math.DhApiMat4f; -import com.seibel.distanthorizons.common.render.nativeGl.DhTerrainShaderProgram; -import com.seibel.distanthorizons.common.render.nativeGl.OpenGlDhMetaRenderer; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.shader.ShaderProgram; -import com.seibel.distanthorizons.common.render.nativeGl.postProcessing.ScreenQuad; +import com.seibel.distanthorizons.common.render.openGl.GlDhMetaRenderer; +import com.seibel.distanthorizons.common.render.openGl.glObject.shader.GlShaderProgram; +import com.seibel.distanthorizons.common.render.openGl.postProcessing.GlScreenQuad; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; -import com.seibel.distanthorizons.common.render.nativeGl.util.AbstractShaderRenderer; +import com.seibel.distanthorizons.common.render.openGl.util.GlAbstractShaderRenderer; import com.seibel.distanthorizons.core.render.RenderParams; import com.seibel.distanthorizons.core.util.RenderUtil; import com.seibel.distanthorizons.core.util.math.Mat4f; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper; import org.lwjgl.opengl.GL32; -public class DhFarFadeShader extends AbstractShaderRenderer +public class GlDhFarFadeShader extends GlAbstractShaderRenderer { - public static DhFarFadeShader INSTANCE = new DhFarFadeShader(); + public static GlDhFarFadeShader INSTANCE = new GlDhFarFadeShader(); private static final IMinecraftRenderWrapper MC_RENDER = SingletonInjector.INSTANCE.get(IMinecraftRenderWrapper.class); private static final MinecraftGLWrapper GLMC = MinecraftGLWrapper.INSTANCE; @@ -64,12 +63,12 @@ public class DhFarFadeShader extends AbstractShaderRenderer // constructor // //=============// - public DhFarFadeShader() { } + public GlDhFarFadeShader() { } @Override public void onInit() { - this.shader = new ShaderProgram( + this.shader = new GlShaderProgram( "shaders/quadApply.vert", "shaders/fade/dhFade.frag", "vPosition" @@ -130,8 +129,8 @@ public class DhFarFadeShader extends AbstractShaderRenderer @Override protected void onRender() { - int depthTextureId = OpenGlDhMetaRenderer.INSTANCE.getActiveDepthTextureId(); - int colorTextureId = OpenGlDhMetaRenderer.INSTANCE.getActiveColorTextureId(); + int depthTextureId = GlDhMetaRenderer.INSTANCE.getActiveDepthTextureId(); + int colorTextureId = GlDhMetaRenderer.INSTANCE.getActiveColorTextureId(); if (depthTextureId == -1 || colorTextureId == -1) @@ -162,7 +161,7 @@ public class DhFarFadeShader extends AbstractShaderRenderer GL32.glUniform1i(this.uDhColorTexture, 2); - ScreenQuad.INSTANCE.render(); + GlScreenQuad.INSTANCE.render(); } } diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fade/VanillaFadeShader.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fade/GlDhVanillaFadeShader.java similarity index 88% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fade/VanillaFadeShader.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fade/GlDhVanillaFadeShader.java index bd4ea32db..bd0e444c4 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fade/VanillaFadeShader.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fade/GlDhVanillaFadeShader.java @@ -17,26 +17,25 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.postProcessing.fade; +package com.seibel.distanthorizons.common.render.openGl.postProcessing.fade; import com.seibel.distanthorizons.api.objects.math.DhApiMat4f; -import com.seibel.distanthorizons.common.render.nativeGl.DhTerrainShaderProgram; -import com.seibel.distanthorizons.common.render.nativeGl.OpenGlDhMetaRenderer; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.shader.ShaderProgram; -import com.seibel.distanthorizons.common.render.nativeGl.postProcessing.ScreenQuad; +import com.seibel.distanthorizons.common.render.openGl.GlDhMetaRenderer; +import com.seibel.distanthorizons.common.render.openGl.glObject.shader.GlShaderProgram; +import com.seibel.distanthorizons.common.render.openGl.postProcessing.GlScreenQuad; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; import com.seibel.distanthorizons.core.config.Config; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; -import com.seibel.distanthorizons.common.render.nativeGl.util.AbstractShaderRenderer; +import com.seibel.distanthorizons.common.render.openGl.util.GlAbstractShaderRenderer; import com.seibel.distanthorizons.core.render.RenderParams; import com.seibel.distanthorizons.core.util.RenderUtil; import com.seibel.distanthorizons.core.util.math.Mat4f; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper; import org.lwjgl.opengl.GL32; -public class VanillaFadeShader extends AbstractShaderRenderer +public class GlDhVanillaFadeShader extends GlAbstractShaderRenderer { - public static VanillaFadeShader INSTANCE = new VanillaFadeShader(); + public static GlDhVanillaFadeShader INSTANCE = new GlDhVanillaFadeShader(); private static final IMinecraftRenderWrapper MC_RENDER = SingletonInjector.INSTANCE.get(IMinecraftRenderWrapper.class); private static final MinecraftGLWrapper GLMC = MinecraftGLWrapper.INSTANCE; @@ -72,12 +71,12 @@ public class VanillaFadeShader extends AbstractShaderRenderer //=============// //region - public VanillaFadeShader() { } + public GlDhVanillaFadeShader() { } @Override public void onInit() { - this.shader = new ShaderProgram( + this.shader = new GlShaderProgram( "shaders/quadApply.vert", "shaders/fade/vanillaFade.frag", "vPosition" @@ -167,8 +166,8 @@ public class VanillaFadeShader extends AbstractShaderRenderer @Override protected void onRender() { - int depthTextureId = OpenGlDhMetaRenderer.INSTANCE.getActiveDepthTextureId(); - int colorTextureId = OpenGlDhMetaRenderer.INSTANCE.getActiveColorTextureId(); + int depthTextureId = GlDhMetaRenderer.INSTANCE.getActiveDepthTextureId(); + int colorTextureId = GlDhMetaRenderer.INSTANCE.getActiveColorTextureId(); if (depthTextureId == -1 || colorTextureId == -1) @@ -202,7 +201,7 @@ public class VanillaFadeShader extends AbstractShaderRenderer GL32.glUniform1i(this.uDhColorTexture, 3); - ScreenQuad.INSTANCE.render(); + GlScreenQuad.INSTANCE.render(); } //endregion diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fade/VanillaFadeRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fade/GlVanillaFadeRenderer.java similarity index 76% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fade/VanillaFadeRenderer.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fade/GlVanillaFadeRenderer.java index 057a0b599..c8c9524c5 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fade/VanillaFadeRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fade/GlVanillaFadeRenderer.java @@ -17,10 +17,10 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.postProcessing.fade; +package com.seibel.distanthorizons.common.render.openGl.postProcessing.fade; -import com.seibel.distanthorizons.common.render.nativeGl.OpenGlDhMetaRenderer; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.GLState; +import com.seibel.distanthorizons.common.render.openGl.GlDhMetaRenderer; +import com.seibel.distanthorizons.common.render.openGl.glObject.GLState; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; @@ -35,14 +35,14 @@ import org.lwjgl.opengl.GL32; import java.nio.ByteBuffer; /** - * Handles fading MC and DH together via {@link VanillaFadeShader} and {@link DhFarFadeApplyShader}.

+ * Handles fading MC and DH together via {@link GlDhVanillaFadeShader} and {@link GlDhFarFadeApplyShader}.

* - * {@link VanillaFadeShader} - draws the Fade to a texture.
- * {@link DhFarFadeApplyShader} - draws the Fade texture to MC's FrameBuffer.
+ * {@link GlDhVanillaFadeShader} - draws the Fade to a texture.
+ * {@link GlDhFarFadeApplyShader} - draws the Fade texture to MC's FrameBuffer.
*/ -public class VanillaFadeRenderer implements IDhVanillaFadeRenderer +public class GlVanillaFadeRenderer implements IDhVanillaFadeRenderer { - public static VanillaFadeRenderer INSTANCE = new VanillaFadeRenderer(); + public static GlVanillaFadeRenderer INSTANCE = new GlVanillaFadeRenderer(); private static final DhLogger LOGGER = new DhLoggerBuilder().build(); @@ -66,15 +66,15 @@ public class VanillaFadeRenderer implements IDhVanillaFadeRenderer //=============// //region - private VanillaFadeRenderer() { } + private GlVanillaFadeRenderer() { } public void init() { if (this.init) return; this.init = true; - VanillaFadeShader.INSTANCE.init(); - DhFarFadeApplyShader.INSTANCE.init(); + GlDhVanillaFadeShader.INSTANCE.init(); + GlDhFarFadeApplyShader.INSTANCE.init(); } private void createFramebuffer(int width, int height) @@ -124,7 +124,7 @@ public class VanillaFadeRenderer implements IDhVanillaFadeRenderer @Override public void render(RenderParams renderParams) { - int depthTextureId = OpenGlDhMetaRenderer.INSTANCE.getActiveDepthTextureId(); + int depthTextureId = GlDhMetaRenderer.INSTANCE.getActiveDepthTextureId(); if (depthTextureId == -1) { // the renderer hasn't been set up yet @@ -156,10 +156,10 @@ public class VanillaFadeRenderer implements IDhVanillaFadeRenderer } - VanillaFadeShader.INSTANCE.frameBuffer = this.fadeFramebuffer; - VanillaFadeShader.INSTANCE.setProjectionMatrix(renderParams.mcModelViewMatrix, renderParams.mcProjectionMatrix); - VanillaFadeShader.INSTANCE.setLevelMaxHeight(renderParams.clientLevelWrapper.getMaxHeight()); - VanillaFadeShader.INSTANCE.render(renderParams); + GlDhVanillaFadeShader.INSTANCE.frameBuffer = this.fadeFramebuffer; + GlDhVanillaFadeShader.INSTANCE.setProjectionMatrix(renderParams.mcModelViewMatrix, renderParams.mcProjectionMatrix); + GlDhVanillaFadeShader.INSTANCE.setLevelMaxHeight(renderParams.clientLevelWrapper.getMaxHeight()); + GlDhVanillaFadeShader.INSTANCE.render(renderParams); // Applying the fade texture is only needed if MC is drawing to their own frame buffer, // otherwise we can directly render to their texture @@ -167,10 +167,10 @@ public class VanillaFadeRenderer implements IDhVanillaFadeRenderer { profiler.popPush("Vanilla Fade Apply"); - DhFarFadeApplyShader.INSTANCE.fadeTexture = this.fadeTexture; - DhFarFadeApplyShader.INSTANCE.readFramebuffer = DhFarFadeShader.INSTANCE.frameBuffer; - DhFarFadeApplyShader.INSTANCE.drawFramebuffer = MC_RENDER.getTargetFramebuffer(); - DhFarFadeApplyShader.INSTANCE.render(renderParams); + GlDhFarFadeApplyShader.INSTANCE.fadeTexture = this.fadeTexture; + GlDhFarFadeApplyShader.INSTANCE.readFramebuffer = GlDhFarFadeShader.INSTANCE.frameBuffer; + GlDhFarFadeApplyShader.INSTANCE.drawFramebuffer = MC_RENDER.getTargetFramebuffer(); + GlDhFarFadeApplyShader.INSTANCE.render(renderParams); } profiler.pop(); @@ -192,8 +192,8 @@ public class VanillaFadeRenderer implements IDhVanillaFadeRenderer public void free() { - VanillaFadeShader.INSTANCE.free(); - DhFarFadeApplyShader.INSTANCE.free(); + GlDhVanillaFadeShader.INSTANCE.free(); + GlDhFarFadeApplyShader.INSTANCE.free(); } //endregion diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fog/FogApplyShader.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fog/GlDhFogApplyShader.java similarity index 72% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fog/FogApplyShader.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fog/GlDhFogApplyShader.java index e1f6c8308..4db8c0b6b 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fog/FogApplyShader.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fog/GlDhFogApplyShader.java @@ -17,14 +17,13 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.postProcessing.fog; +package com.seibel.distanthorizons.common.render.openGl.postProcessing.fog; -import com.seibel.distanthorizons.common.render.nativeGl.DhTerrainShaderProgram; -import com.seibel.distanthorizons.common.render.nativeGl.OpenGlDhMetaRenderer; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.shader.ShaderProgram; -import com.seibel.distanthorizons.common.render.nativeGl.postProcessing.ScreenQuad; +import com.seibel.distanthorizons.common.render.openGl.GlDhMetaRenderer; +import com.seibel.distanthorizons.common.render.openGl.glObject.shader.GlShaderProgram; +import com.seibel.distanthorizons.common.render.openGl.postProcessing.GlScreenQuad; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; -import com.seibel.distanthorizons.common.render.nativeGl.util.AbstractShaderRenderer; +import com.seibel.distanthorizons.common.render.openGl.util.GlAbstractShaderRenderer; import com.seibel.distanthorizons.core.render.RenderParams; import org.lwjgl.opengl.GL32; @@ -32,12 +31,12 @@ import org.lwjgl.opengl.GL32; * Draws the Fog texture onto DH's FrameBuffer.

* * See Also:
- * {@link DhFogRenderer} - Parent to this shader.
- * {@link FogShader} - draws the Fog texture.
+ * {@link GlDhFogRenderer} - Parent to this shader.
+ * {@link GlDhFogShader} - draws the Fog texture.
*/ -public class FogApplyShader extends AbstractShaderRenderer +public class GlDhFogApplyShader extends GlAbstractShaderRenderer { - public static FogApplyShader INSTANCE = new FogApplyShader(); + public static GlDhFogApplyShader INSTANCE = new GlDhFogApplyShader(); private static final MinecraftGLWrapper GLMC = MinecraftGLWrapper.INSTANCE; @@ -57,7 +56,7 @@ public class FogApplyShader extends AbstractShaderRenderer @Override public void onInit() { - this.shader = new ShaderProgram( + this.shader = new GlShaderProgram( "shaders/quadApply.vert", "shaders/fog/apply.frag", "vPosition" @@ -83,7 +82,7 @@ public class FogApplyShader extends AbstractShaderRenderer GL32.glUniform1i(this.colorTextureUniform, 0); GLMC.glActiveTexture(GL32.GL_TEXTURE1); - GLMC.glBindTexture(OpenGlDhMetaRenderer.INSTANCE.getActiveDepthTextureId()); + GLMC.glBindTexture(GlDhMetaRenderer.INSTANCE.getActiveDepthTextureId()); GL32.glUniform1i(this.depthTextureUniform, 1); } @@ -108,10 +107,10 @@ public class FogApplyShader extends AbstractShaderRenderer // apply the rendered Fog to DH's framebuffer - GLMC.glBindFramebuffer(GL32.GL_READ_FRAMEBUFFER, FogShader.INSTANCE.frameBuffer); - GLMC.glBindFramebuffer(GL32.GL_DRAW_FRAMEBUFFER, OpenGlDhMetaRenderer.INSTANCE.getActiveFramebufferId()); + GLMC.glBindFramebuffer(GL32.GL_READ_FRAMEBUFFER, GlDhFogShader.INSTANCE.frameBuffer); + GLMC.glBindFramebuffer(GL32.GL_DRAW_FRAMEBUFFER, GlDhMetaRenderer.INSTANCE.getActiveFramebufferId()); - ScreenQuad.INSTANCE.render(); + GlScreenQuad.INSTANCE.render(); GLMC.glBindFramebuffer(GL32.GL_READ_FRAMEBUFFER, 0); } diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fog/DhFogRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fog/GlDhFogRenderer.java similarity index 79% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fog/DhFogRenderer.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fog/GlDhFogRenderer.java index 03dac4501..dd54a20f0 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fog/DhFogRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fog/GlDhFogRenderer.java @@ -17,10 +17,9 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.postProcessing.fog; +package com.seibel.distanthorizons.common.render.openGl.postProcessing.fog; -import com.seibel.distanthorizons.api.objects.math.DhApiMat4f; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.GLState; +import com.seibel.distanthorizons.common.render.openGl.glObject.GLState; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.render.RenderParams; @@ -32,14 +31,14 @@ import org.lwjgl.opengl.GL43C; import java.nio.ByteBuffer; /** - * Handles adding SSAO via {@link FogShader} and {@link FogApplyShader}.

+ * Handles adding SSAO via {@link GlDhFogShader} and {@link GlDhFogApplyShader}.

* - * {@link FogShader} - draws the Fog to a texture.
- * {@link FogApplyShader} - draws the Fog texture to DH's FrameBuffer.
+ * {@link GlDhFogShader} - draws the Fog to a texture.
+ * {@link GlDhFogApplyShader} - draws the Fog texture to DH's FrameBuffer.
*/ -public class DhFogRenderer implements IDhFogRenderer +public class GlDhFogRenderer implements IDhFogRenderer { - public static DhFogRenderer INSTANCE = new DhFogRenderer(); + public static GlDhFogRenderer INSTANCE = new GlDhFogRenderer(); private static final IMinecraftRenderWrapper MC_RENDER = SingletonInjector.INSTANCE.get(IMinecraftRenderWrapper.class); private static final MinecraftGLWrapper GLMC = MinecraftGLWrapper.INSTANCE; @@ -59,15 +58,15 @@ public class DhFogRenderer implements IDhFogRenderer // constructor // //=============// - private DhFogRenderer() { } + private GlDhFogRenderer() { } public void init() { if (this.init) return; this.init = true; - FogShader.INSTANCE.init(); - FogApplyShader.INSTANCE.init(); + GlDhFogShader.INSTANCE.init(); + GlDhFogApplyShader.INSTANCE.init(); } private void createFramebuffer(int width, int height) @@ -126,12 +125,12 @@ public class DhFogRenderer implements IDhFogRenderer this.createFramebuffer(width, height); } - FogShader.INSTANCE.frameBuffer = this.fogFramebuffer; - FogShader.INSTANCE.setProjectionMatrix(renderParams.dhMvmProjMatrix); - FogShader.INSTANCE.render(renderParams); + GlDhFogShader.INSTANCE.frameBuffer = this.fogFramebuffer; + GlDhFogShader.INSTANCE.setProjectionMatrix(renderParams.dhMvmProjMatrix); + GlDhFogShader.INSTANCE.render(renderParams); - FogApplyShader.INSTANCE.fogTexture = this.fogTexture; - FogApplyShader.INSTANCE.render(renderParams); + GlDhFogApplyShader.INSTANCE.fogTexture = this.fogTexture; + GlDhFogApplyShader.INSTANCE.render(renderParams); } } @@ -146,8 +145,8 @@ public class DhFogRenderer implements IDhFogRenderer public void free() { - FogShader.INSTANCE.free(); - FogApplyShader.INSTANCE.free(); + GlDhFogShader.INSTANCE.free(); + GlDhFogApplyShader.INSTANCE.free(); } //endregion diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fog/FogShader.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fog/GlDhFogShader.java similarity index 93% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fog/FogShader.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fog/GlDhFogShader.java index 7bc413807..c176a07bf 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/fog/FogShader.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/fog/GlDhFogShader.java @@ -17,20 +17,19 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.postProcessing.fog; +package com.seibel.distanthorizons.common.render.openGl.postProcessing.fog; import com.seibel.distanthorizons.api.enums.rendering.EDhApiFogColorMode; import com.seibel.distanthorizons.api.enums.rendering.EDhApiHeightFogDirection; import com.seibel.distanthorizons.api.enums.rendering.EDhApiHeightFogMixMode; import com.seibel.distanthorizons.api.objects.math.DhApiMat4f; -import com.seibel.distanthorizons.common.render.nativeGl.DhTerrainShaderProgram; -import com.seibel.distanthorizons.common.render.nativeGl.OpenGlDhMetaRenderer; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.shader.ShaderProgram; -import com.seibel.distanthorizons.common.render.nativeGl.postProcessing.ScreenQuad; +import com.seibel.distanthorizons.common.render.openGl.GlDhMetaRenderer; +import com.seibel.distanthorizons.common.render.openGl.glObject.shader.GlShaderProgram; +import com.seibel.distanthorizons.common.render.openGl.postProcessing.GlScreenQuad; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; import com.seibel.distanthorizons.core.config.Config; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; -import com.seibel.distanthorizons.common.render.nativeGl.util.AbstractShaderRenderer; +import com.seibel.distanthorizons.common.render.openGl.util.GlAbstractShaderRenderer; import com.seibel.distanthorizons.core.render.RenderParams; import com.seibel.distanthorizons.core.util.LodUtil; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; @@ -40,9 +39,9 @@ import org.lwjgl.opengl.GL32; import java.awt.*; -public class FogShader extends AbstractShaderRenderer +public class GlDhFogShader extends GlAbstractShaderRenderer { - public static final FogShader INSTANCE = new FogShader(); + public static final GlDhFogShader INSTANCE = new GlDhFogShader(); private static final IMinecraftClientWrapper MC = SingletonInjector.INSTANCE.get(IMinecraftClientWrapper.class); private static final MinecraftGLWrapper GLMC = MinecraftGLWrapper.INSTANCE; @@ -104,12 +103,12 @@ public class FogShader extends AbstractShaderRenderer //=============// //region - public FogShader() { } + public GlDhFogShader() { } @Override public void onInit() { - this.shader = new ShaderProgram( + this.shader = new GlShaderProgram( "shaders/quadApply.vert", "shaders/fog/fog.frag", "vPosition" @@ -277,7 +276,7 @@ public class FogShader extends AbstractShaderRenderer GLMC.disableBlend(); GLMC.glActiveTexture(GL32.GL_TEXTURE0); - GLMC.glBindTexture(OpenGlDhMetaRenderer.INSTANCE.getActiveDepthTextureId()); + GLMC.glBindTexture(GlDhMetaRenderer.INSTANCE.getActiveDepthTextureId()); GL32.glUniform1i(this.uDepthMap, 0); // this is necessary for MC 1.16 (IE Legacy OpenGL) @@ -293,7 +292,7 @@ public class FogShader extends AbstractShaderRenderer } - ScreenQuad.INSTANCE.render(); + GlScreenQuad.INSTANCE.render(); } //endregion diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/ssao/SSAOApplyShader.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/ssao/GlDhSSAOApplyShader.java similarity index 77% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/ssao/SSAOApplyShader.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/ssao/GlDhSSAOApplyShader.java index ac49b12ca..18a97f29a 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/ssao/SSAOApplyShader.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/ssao/GlDhSSAOApplyShader.java @@ -17,14 +17,13 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.postProcessing.ssao; +package com.seibel.distanthorizons.common.render.openGl.postProcessing.ssao; -import com.seibel.distanthorizons.common.render.nativeGl.DhTerrainShaderProgram; -import com.seibel.distanthorizons.common.render.nativeGl.OpenGlDhMetaRenderer; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.shader.ShaderProgram; -import com.seibel.distanthorizons.common.render.nativeGl.postProcessing.ScreenQuad; +import com.seibel.distanthorizons.common.render.openGl.GlDhMetaRenderer; +import com.seibel.distanthorizons.common.render.openGl.glObject.shader.GlShaderProgram; +import com.seibel.distanthorizons.common.render.openGl.postProcessing.GlScreenQuad; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; -import com.seibel.distanthorizons.common.render.nativeGl.util.AbstractShaderRenderer; +import com.seibel.distanthorizons.common.render.openGl.util.GlAbstractShaderRenderer; import com.seibel.distanthorizons.core.render.RenderParams; import com.seibel.distanthorizons.core.util.RenderUtil; import org.lwjgl.opengl.GL32; @@ -33,12 +32,12 @@ import org.lwjgl.opengl.GL32; * Draws the SSAO texture onto DH's FrameBuffer.

* * See Also:
- * {@link DhSSAORenderer} - Parent to this shader.
- * {@link SSAOShader} - draws the SSAO texture.
+ * {@link GlDhSSAORenderer} - Parent to this shader.
+ * {@link GlDhSSAOShader} - draws the SSAO texture.
*/ -public class SSAOApplyShader extends AbstractShaderRenderer +public class GlDhSSAOApplyShader extends GlAbstractShaderRenderer { - public static SSAOApplyShader INSTANCE = new SSAOApplyShader(); + public static GlDhSSAOApplyShader INSTANCE = new GlDhSSAOApplyShader(); private static final MinecraftGLWrapper GLMC = MinecraftGLWrapper.INSTANCE; @@ -62,7 +61,7 @@ public class SSAOApplyShader extends AbstractShaderRenderer @Override public void onInit() { - this.shader = new ShaderProgram( + this.shader = new GlShaderProgram( "shaders/quadApply.vert", "shaders/ssao/apply.frag", "vPosition" @@ -87,7 +86,7 @@ public class SSAOApplyShader extends AbstractShaderRenderer protected void onApplyUniforms(RenderParams renderParams) { GLMC.glActiveTexture(GL32.GL_TEXTURE0); - GLMC.glBindTexture(OpenGlDhMetaRenderer.INSTANCE.getActiveDepthTextureId()); + GLMC.glBindTexture(GlDhMetaRenderer.INSTANCE.getActiveDepthTextureId()); GL32.glUniform1i(this.gDepthMapUniform, 0); GLMC.glActiveTexture(GL32.GL_TEXTURE1); @@ -135,11 +134,11 @@ public class SSAOApplyShader extends AbstractShaderRenderer GLMC.disableDepthTest(); // apply the rendered SSAO to the LODs - GLMC.glBindFramebuffer(GL32.GL_READ_FRAMEBUFFER, SSAOShader.INSTANCE.frameBuffer); - GLMC.glBindFramebuffer(GL32.GL_DRAW_FRAMEBUFFER, OpenGlDhMetaRenderer.INSTANCE.getActiveFramebufferId()); + GLMC.glBindFramebuffer(GL32.GL_READ_FRAMEBUFFER, GlDhSSAOShader.INSTANCE.frameBuffer); + GLMC.glBindFramebuffer(GL32.GL_DRAW_FRAMEBUFFER, GlDhMetaRenderer.INSTANCE.getActiveFramebufferId()); - ScreenQuad.INSTANCE.render(); + GlScreenQuad.INSTANCE.render(); } diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/ssao/DhSSAORenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/ssao/GlDhSSAORenderer.java similarity index 78% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/ssao/DhSSAORenderer.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/ssao/GlDhSSAORenderer.java index d53f94ede..a6730453e 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/ssao/DhSSAORenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/ssao/GlDhSSAORenderer.java @@ -17,10 +17,9 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.postProcessing.ssao; +package com.seibel.distanthorizons.common.render.openGl.postProcessing.ssao; -import com.seibel.distanthorizons.api.objects.math.DhApiMat4f; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.GLState; +import com.seibel.distanthorizons.common.render.openGl.glObject.GLState; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.render.RenderParams; @@ -32,14 +31,14 @@ import org.lwjgl.opengl.GL43C; import java.nio.ByteBuffer; /** - * Handles adding SSAO via {@link SSAOShader} and {@link SSAOApplyShader}.

+ * Handles adding SSAO via {@link GlDhSSAOShader} and {@link GlDhSSAOApplyShader}.

* - * {@link SSAOShader} - draws the SSAO to a texture.
- * {@link SSAOApplyShader} - draws the SSAO texture to DH's FrameBuffer.
+ * {@link GlDhSSAOShader} - draws the SSAO to a texture.
+ * {@link GlDhSSAOApplyShader} - draws the SSAO texture to DH's FrameBuffer.
*/ -public class DhSSAORenderer implements IDhSsaoRenderer +public class GlDhSSAORenderer implements IDhSsaoRenderer { - public static DhSSAORenderer INSTANCE = new DhSSAORenderer(); + public static GlDhSSAORenderer INSTANCE = new GlDhSSAORenderer(); private static final IMinecraftRenderWrapper MC_RENDER = SingletonInjector.INSTANCE.get(IMinecraftRenderWrapper.class); private static final MinecraftGLWrapper GLMC = MinecraftGLWrapper.INSTANCE; @@ -59,15 +58,15 @@ public class DhSSAORenderer implements IDhSsaoRenderer // constructor // //=============// - private DhSSAORenderer() { } + private GlDhSSAORenderer() { } public void init() { if (this.init) return; this.init = true; - SSAOShader.INSTANCE.init(); - SSAOApplyShader.INSTANCE.init(); + GlDhSSAOShader.INSTANCE.init(); + GlDhSSAOApplyShader.INSTANCE.init(); } private void createFramebuffer(int width, int height) @@ -126,12 +125,12 @@ public class DhSSAORenderer implements IDhSsaoRenderer this.createFramebuffer(width, height); } - SSAOShader.INSTANCE.frameBuffer = this.ssaoFramebuffer; - SSAOShader.INSTANCE.setProjectionMatrix(renderParams.dhProjectionMatrix); - SSAOShader.INSTANCE.render(renderParams); + GlDhSSAOShader.INSTANCE.frameBuffer = this.ssaoFramebuffer; + GlDhSSAOShader.INSTANCE.setProjectionMatrix(renderParams.dhProjectionMatrix); + GlDhSSAOShader.INSTANCE.render(renderParams); - SSAOApplyShader.INSTANCE.ssaoTexture = this.ssaoTexture; - SSAOApplyShader.INSTANCE.render(renderParams); + GlDhSSAOApplyShader.INSTANCE.ssaoTexture = this.ssaoTexture; + GlDhSSAOApplyShader.INSTANCE.render(renderParams); } } @@ -146,8 +145,8 @@ public class DhSSAORenderer implements IDhSsaoRenderer public void free() { - SSAOShader.INSTANCE.free(); - SSAOApplyShader.INSTANCE.free(); + GlDhSSAOShader.INSTANCE.free(); + GlDhSSAOApplyShader.INSTANCE.free(); } //endregion diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/ssao/SSAOShader.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/ssao/GlDhSSAOShader.java similarity index 80% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/ssao/SSAOShader.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/ssao/GlDhSSAOShader.java index 68111f7b2..a70727753 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/postProcessing/ssao/SSAOShader.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/ssao/GlDhSSAOShader.java @@ -17,15 +17,14 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.postProcessing.ssao; +package com.seibel.distanthorizons.common.render.openGl.postProcessing.ssao; import com.seibel.distanthorizons.api.objects.math.DhApiMat4f; -import com.seibel.distanthorizons.common.render.nativeGl.DhTerrainShaderProgram; -import com.seibel.distanthorizons.common.render.nativeGl.OpenGlDhMetaRenderer; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.shader.ShaderProgram; -import com.seibel.distanthorizons.common.render.nativeGl.postProcessing.ScreenQuad; +import com.seibel.distanthorizons.common.render.openGl.GlDhMetaRenderer; +import com.seibel.distanthorizons.common.render.openGl.glObject.shader.GlShaderProgram; +import com.seibel.distanthorizons.common.render.openGl.postProcessing.GlScreenQuad; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; -import com.seibel.distanthorizons.common.render.nativeGl.util.AbstractShaderRenderer; +import com.seibel.distanthorizons.common.render.openGl.util.GlAbstractShaderRenderer; import com.seibel.distanthorizons.core.render.RenderParams; import com.seibel.distanthorizons.core.util.math.Mat4f; import org.lwjgl.opengl.GL32; @@ -34,12 +33,12 @@ import org.lwjgl.opengl.GL32; * Draws the SSAO to a texture.

* * See Also:
- * {@link DhSSAORenderer} - Parent to this shader.
- * {@link SSAOApplyShader} - draws the SSAO texture to DH's FrameBuffer.
+ * {@link GlDhSSAORenderer} - Parent to this shader.
+ * {@link GlDhSSAOApplyShader} - draws the SSAO texture to DH's FrameBuffer.
*/ -public class SSAOShader extends AbstractShaderRenderer +public class GlDhSSAOShader extends GlAbstractShaderRenderer { - public static SSAOShader INSTANCE = new SSAOShader(); + public static GlDhSSAOShader INSTANCE = new GlDhSSAOShader(); private static final MinecraftGLWrapper GLMC = MinecraftGLWrapper.INSTANCE; @@ -70,7 +69,7 @@ public class SSAOShader extends AbstractShaderRenderer @Override public void onInit() { - this.shader = new ShaderProgram( + this.shader = new GlShaderProgram( "shaders/quadApply.vert", "shaders/ssao/ao.frag", "vPosition" @@ -135,9 +134,9 @@ public class SSAOShader extends AbstractShaderRenderer GLMC.disableBlend(); GLMC.glActiveTexture(GL32.GL_TEXTURE0); - GLMC.glBindTexture(OpenGlDhMetaRenderer.INSTANCE.getActiveDepthTextureId()); + GLMC.glBindTexture(GlDhMetaRenderer.INSTANCE.getActiveDepthTextureId()); - ScreenQuad.INSTANCE.render(); + GlScreenQuad.INSTANCE.render(); } diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/test/GlTestTriangleRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/test/GlTestTriangleRenderer.java similarity index 79% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/test/GlTestTriangleRenderer.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/test/GlTestTriangleRenderer.java index dc7334285..a0d4eff83 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/test/GlTestTriangleRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/test/GlTestTriangleRenderer.java @@ -17,18 +17,18 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.test; +package com.seibel.distanthorizons.common.render.openGl.test; import com.seibel.distanthorizons.api.enums.config.EDhApiGpuUploadMethod; -import com.seibel.distanthorizons.common.render.nativeGl.postProcessing.apply.DhApplyShader; +import com.seibel.distanthorizons.common.render.openGl.postProcessing.apply.GlDhApplyShader; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.logging.DhLogger; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.buffer.GLVertexBuffer; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.shader.ShaderProgram; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.vertexAttribute.AbstractVertexAttribute; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.vertexAttribute.VertexPointer; +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; +import com.seibel.distanthorizons.common.render.openGl.glObject.vertexAttribute.GlVertexPointer; import com.seibel.distanthorizons.core.render.RenderParams; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper; @@ -63,9 +63,9 @@ public class GlTestTriangleRenderer implements IDhTestTriangleRenderer - ShaderProgram basicShader; + GlShaderProgram basicShader; GLVertexBuffer vbo; - AbstractVertexAttribute va; + GlAbstractVertexAttribute va; boolean init = false; @@ -86,14 +86,14 @@ public class GlTestTriangleRenderer implements IDhTestTriangleRenderer LOGGER.info("init"); this.init = true; - this.va = AbstractVertexAttribute.create(); + this.va = GlAbstractVertexAttribute.create(); this.va.bind(); // Pos - this.va.setVertexAttribute(0, 0, VertexPointer.addVec2Pointer(false)); + this.va.setVertexAttribute(0, 0, GlVertexPointer.addVec2Pointer(false)); // Color - this.va.setVertexAttribute(0, 1, VertexPointer.addVec4Pointer(false)); + this.va.setVertexAttribute(0, 1, GlVertexPointer.addVec4Pointer(false)); this.va.completeAndCheck(Float.BYTES * 6); - this.basicShader = new ShaderProgram( + this.basicShader = new GlShaderProgram( "shaders/test/vert.vert", "shaders/test/frag.frag", new String[]{"vPosition", "color"}); @@ -136,7 +136,7 @@ public class GlTestTriangleRenderer implements IDhTestTriangleRenderer GL32.glDrawArrays(GL32.GL_TRIANGLES, 0, 3); - DhApplyShader.INSTANCE.render(renderParams); + GlDhApplyShader.INSTANCE.render(renderParams); } //endregion diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/util/AbstractShaderRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/util/GlAbstractShaderRenderer.java similarity index 89% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/util/AbstractShaderRenderer.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/util/GlAbstractShaderRenderer.java index 9a48970d9..ac8f8c900 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/util/AbstractShaderRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/util/GlAbstractShaderRenderer.java @@ -17,20 +17,20 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.util; +package com.seibel.distanthorizons.common.render.openGl.util; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.shader.ShaderProgram; +import com.seibel.distanthorizons.common.render.openGl.glObject.shader.GlShaderProgram; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.render.RenderParams; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper; import org.lwjgl.opengl.GL32; -public abstract class AbstractShaderRenderer +public abstract class GlAbstractShaderRenderer { protected static final IMinecraftRenderWrapper MC_RENDER = SingletonInjector.INSTANCE.get(IMinecraftRenderWrapper.class); - protected ShaderProgram shader; + protected GlShaderProgram shader; protected boolean init = false; @@ -39,7 +39,7 @@ public abstract class AbstractShaderRenderer //=======// //region - protected AbstractShaderRenderer() {} + protected GlAbstractShaderRenderer() {} public void init() { diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/util/vertexFormat/LodVertexFormat.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/util/vertexFormat/GlLodVertexFormat.java similarity index 79% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/util/vertexFormat/LodVertexFormat.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/util/vertexFormat/GlLodVertexFormat.java index 509c9e872..049b9d5d4 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/util/vertexFormat/LodVertexFormat.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/util/vertexFormat/GlLodVertexFormat.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.util.vertexFormat; +package com.seibel.distanthorizons.common.render.openGl.util.vertexFormat; import java.util.stream.Collectors; @@ -37,22 +37,22 @@ import it.unimi.dsi.fastutil.ints.IntList; * @author James Seibel * @version 12-9-2021 */ -public class LodVertexFormat +public class GlLodVertexFormat { /** the format of data stored in the GPU buffers */ - public static final LodVertexFormat DH_VERTEX_FORMAT = VertexFormats.POSITION_COLOR_BLOCK_LIGHT_SKY_LIGHT_MATERIAL_ID_NORMAL_INDEX; + public static final GlLodVertexFormat DH_VERTEX_FORMAT = GlVertexFormats.POSITION_COLOR_BLOCK_LIGHT_SKY_LIGHT_MATERIAL_ID_NORMAL_INDEX; - private final ImmutableList elements; + private final ImmutableList elements; private final IntList offsets = new IntArrayList(); private final int byteSize; - public LodVertexFormat(ImmutableList elementList) + public GlLodVertexFormat(ImmutableList elementList) { this.elements = elementList; int i = 0; - for (LodVertexFormatElement LodVertexFormatElement : elementList) + for (GlLodVertexFormatElement LodVertexFormatElement : elementList) { this.offsets.add(i); i += LodVertexFormatElement.getByteSize(); @@ -66,7 +66,7 @@ public class LodVertexFormat return this.byteSize; } - public ImmutableList getElements() + public ImmutableList getElements() { return this.elements; } @@ -93,7 +93,7 @@ public class LodVertexFormat } else if (obj != null && this.getClass() == obj.getClass()) { - LodVertexFormat vertexFormat = (LodVertexFormat) obj; + GlLodVertexFormat vertexFormat = (GlLodVertexFormat) obj; return this.byteSize == vertexFormat.byteSize && this.elements.equals(vertexFormat.elements); } else diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/util/vertexFormat/LodVertexFormatElement.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/util/vertexFormat/GlLodVertexFormatElement.java similarity index 87% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/util/vertexFormat/LodVertexFormatElement.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/util/vertexFormat/GlLodVertexFormatElement.java index cdc7dc41a..cfc692d53 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/util/vertexFormat/LodVertexFormatElement.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/util/vertexFormat/GlLodVertexFormatElement.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.util.vertexFormat; +package com.seibel.distanthorizons.common.render.openGl.util.vertexFormat; import org.lwjgl.opengl.GL32; @@ -32,16 +32,16 @@ import org.lwjgl.opengl.GL32; * @author James Seibel * @version 11-13-2021 */ -public class LodVertexFormatElement +public class GlLodVertexFormatElement { - private final LodVertexFormatElement.DataType dataType; + private final GlLodVertexFormatElement.DataType dataType; /** James isn't sure what index is for */ private final int index; private final int count; private final int byteSize; private final boolean isPadding; - public LodVertexFormatElement(int newIndex, LodVertexFormatElement.DataType newType, int newCount, boolean isPadding) + public GlLodVertexFormatElement(int newIndex, GlLodVertexFormatElement.DataType newType, int newCount, boolean isPadding) { this.dataType = newType; this.index = newIndex; @@ -55,7 +55,7 @@ public class LodVertexFormatElement return isPadding; } - public final LodVertexFormatElement.DataType getType() + public final GlLodVertexFormatElement.DataType getType() { return this.dataType; } @@ -141,7 +141,7 @@ public class LodVertexFormatElement } else if (obj != null && this.getClass() == obj.getClass()) { - LodVertexFormatElement LodVertexFormatElement = (LodVertexFormatElement) obj; + GlLodVertexFormatElement LodVertexFormatElement = (GlLodVertexFormatElement) obj; if (this.count != LodVertexFormatElement.count) { return false; diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/util/vertexFormat/VertexFormats.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/util/vertexFormat/GlVertexFormats.java similarity index 50% rename from common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/util/vertexFormat/VertexFormats.java rename to common/src/main/java/com/seibel/distanthorizons/common/render/openGl/util/vertexFormat/GlVertexFormats.java index dc4e04e64..24bb3dbab 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/nativeGl/util/vertexFormat/VertexFormats.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/util/vertexFormat/GlVertexFormats.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.distanthorizons.common.render.nativeGl.util.vertexFormat; +package com.seibel.distanthorizons.common.render.openGl.util.vertexFormat; import com.google.common.collect.ImmutableList; @@ -25,18 +25,18 @@ import com.google.common.collect.ImmutableList; * A (almost) exact copy of MC's * DefaultVertexFormats class. */ -public class VertexFormats +public class GlVertexFormats { - public static final LodVertexFormatElement ELEMENT_POSITION = new LodVertexFormatElement(3, LodVertexFormatElement.DataType.USHORT, 3, false); - public static final LodVertexFormatElement ELEMENT_COLOR = new LodVertexFormatElement(0, LodVertexFormatElement.DataType.UBYTE, 4, false); - public static final LodVertexFormatElement ELEMENT_BYTE_PADDING = new LodVertexFormatElement(0, LodVertexFormatElement.DataType.BYTE, 1, true); + public static final GlLodVertexFormatElement ELEMENT_POSITION = new GlLodVertexFormatElement(3, GlLodVertexFormatElement.DataType.USHORT, 3, false); + public static final GlLodVertexFormatElement ELEMENT_COLOR = new GlLodVertexFormatElement(0, GlLodVertexFormatElement.DataType.UBYTE, 4, false); + public static final GlLodVertexFormatElement ELEMENT_BYTE_PADDING = new GlLodVertexFormatElement(0, GlLodVertexFormatElement.DataType.BYTE, 1, true); - public static final LodVertexFormatElement ELEMENT_LIGHT = new LodVertexFormatElement(0, LodVertexFormatElement.DataType.UBYTE, 1, false); - public static final LodVertexFormatElement ELEMENT_IRIS_MATERIAL_INDEX = new LodVertexFormatElement(0, LodVertexFormatElement.DataType.BYTE, 1, false); - public static final LodVertexFormatElement ELEMENT_IRIS_NORMAL_INDEX = new LodVertexFormatElement(0, LodVertexFormatElement.DataType.BYTE, 1, false); + public static final GlLodVertexFormatElement ELEMENT_LIGHT = new GlLodVertexFormatElement(0, GlLodVertexFormatElement.DataType.UBYTE, 1, false); + public static final GlLodVertexFormatElement ELEMENT_IRIS_MATERIAL_INDEX = new GlLodVertexFormatElement(0, GlLodVertexFormatElement.DataType.BYTE, 1, false); + public static final GlLodVertexFormatElement ELEMENT_IRIS_NORMAL_INDEX = new GlLodVertexFormatElement(0, GlLodVertexFormatElement.DataType.BYTE, 1, false); - public static final LodVertexFormat POSITION_COLOR_BLOCK_LIGHT_SKY_LIGHT_MATERIAL_ID_NORMAL_INDEX = new LodVertexFormat(ImmutableList.builder() + public static final GlLodVertexFormat POSITION_COLOR_BLOCK_LIGHT_SKY_LIGHT_MATERIAL_ID_NORMAL_INDEX = new GlLodVertexFormat(ImmutableList.builder() .add(ELEMENT_POSITION) .add(ELEMENT_BYTE_PADDING) .add(ELEMENT_LIGHT) diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/DependencySetup.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/DependencySetup.java index 15163d609..d743e99fa 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/DependencySetup.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/DependencySetup.java @@ -22,7 +22,7 @@ package com.seibel.distanthorizons.common.wrappers; import com.seibel.distanthorizons.api.enums.config.EDhApiRenderApi; import com.seibel.distanthorizons.api.interfaces.render.IDhApiCustomRenderObjectFactory; import com.seibel.distanthorizons.common.render.blaze.BlazeDhRenderApiDefinition; -import com.seibel.distanthorizons.common.render.nativeGl.OpenGlDhRenderApiDefinition; +import com.seibel.distanthorizons.common.render.openGl.GlDhRenderApiDefinition; import com.seibel.distanthorizons.core.config.Config; import com.seibel.distanthorizons.core.render.renderer.GenericRenderObjectFactory; import com.seibel.distanthorizons.common.wrappers.gui.ClassicConfigGUI; @@ -97,7 +97,7 @@ public class DependencySetup AbstractDhRenderApiDefinition renderDefinition; if (renderingApiEnum == EDhApiRenderApi.OPEN_GL) { - renderDefinition = new OpenGlDhRenderApiDefinition(); + renderDefinition = new GlDhRenderApiDefinition(); } else if (renderingApiEnum == EDhApiRenderApi.BLAZE_3D) { diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftClientWrapper.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftClientWrapper.java index de8442cd0..eeb9996d2 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftClientWrapper.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftClientWrapper.java @@ -24,7 +24,6 @@ import java.io.File; import com.mojang.blaze3d.platform.Window; import com.seibel.distanthorizons.common.wrappers.world.ClientLevelWrapper; import com.seibel.distanthorizons.core.file.structure.ClientOnlySaveStructure; -import com.seibel.distanthorizons.common.render.nativeGl.glObject.GLProxy; import com.seibel.distanthorizons.core.render.RenderThreadTaskHandler; import com.seibel.distanthorizons.core.wrapperInterfaces.world.IClientLevelWrapper; import com.seibel.distanthorizons.coreapi.ModInfo;