document openGL interfaces not used on Blaze3D

Also add API logic to determine if DH is handling the rendering natively or using an interpretation layer
This commit is contained in:
James Seibel
2026-05-19 21:52:15 -05:00
parent 9409841c89
commit 1ba1bff859
10 changed files with 17 additions and 20 deletions
@@ -5,6 +5,7 @@ public class BlazeDhRenderApiDefinition {}
#else
import com.seibel.distanthorizons.api.enums.config.EDhApiRenderApi;
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;
@@ -14,7 +15,6 @@ import com.seibel.distanthorizons.common.render.blaze.test.BlazeDhTestTriangleRe
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.wrappers.minecraft.MinecraftRenderWrapper;
import com.seibel.distanthorizons.core.render.EDhRenderApi;
import com.seibel.distanthorizons.core.render.EDhRenderDepth;
import com.seibel.distanthorizons.core.render.renderer.AbstractDebugWireframeRenderer;
import com.seibel.distanthorizons.core.wrapperInterfaces.render.AbstractDhRenderApiDefinition;
@@ -48,8 +48,9 @@ public class BlazeDhRenderApiDefinition extends AbstractDhRenderApiDefinition
}
private final EDhRenderApi renderApi;
public EDhRenderApi getRenderApi() { return renderApi; }
private final EDhApiRenderApi renderApi;
public EDhApiRenderApi getRenderApi() { return renderApi; }
public boolean isNativeRenderer() { return false; }
//endregion
@@ -63,7 +64,7 @@ public class BlazeDhRenderApiDefinition extends AbstractDhRenderApiDefinition
public BlazeDhRenderApiDefinition()
{
#if MC_VER <= MC_26_1_2
renderApi = EDhRenderApi.OPEN_GL;
renderApi = EDhApiRenderApi.OPEN_GL;
#else
// use the same rendering API as Minecraft
this.renderApi = MinecraftRenderWrapper.INSTANCE.getMcRenderingApi();
@@ -45,7 +45,6 @@ import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftRenderWrapp
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.EDhRenderApi;
import com.seibel.distanthorizons.core.render.EDhRenderDepth;
import com.seibel.distanthorizons.core.render.RenderParams;
import com.seibel.distanthorizons.core.util.RenderUtil;
@@ -38,7 +38,6 @@ 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.EDhRenderApi;
import com.seibel.distanthorizons.core.render.EDhRenderDepth;
import com.seibel.distanthorizons.core.render.RenderParams;
import com.seibel.distanthorizons.core.util.LodUtil;
@@ -34,7 +34,6 @@ 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;
import com.seibel.distanthorizons.core.render.EDhRenderApi;
import com.seibel.distanthorizons.core.render.EDhRenderDepth;
import com.seibel.distanthorizons.core.render.RenderParams;
import com.seibel.distanthorizons.core.util.RenderUtil;
@@ -49,7 +49,6 @@ 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.EDhRenderApi;
import com.seibel.distanthorizons.core.render.EDhRenderDepth;
import com.seibel.distanthorizons.core.render.RenderParams;
import com.seibel.distanthorizons.core.util.RenderUtil;
@@ -1,5 +1,6 @@
package com.seibel.distanthorizons.common.render.openGl;
import com.seibel.distanthorizons.api.enums.config.EDhApiRenderApi;
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;
@@ -10,7 +11,6 @@ import com.seibel.distanthorizons.common.render.openGl.postProcessing.fog.GlDhFo
import com.seibel.distanthorizons.common.render.openGl.postProcessing.ssao.GlDhSSAORenderer;
import com.seibel.distanthorizons.common.render.openGl.terrain.GlDhTerrainShaderProgram;
import com.seibel.distanthorizons.common.render.openGl.test.GlTestTriangleRenderer;
import com.seibel.distanthorizons.core.render.EDhRenderApi;
import com.seibel.distanthorizons.core.render.EDhRenderDepth;
import com.seibel.distanthorizons.core.render.renderer.AbstractDebugWireframeRenderer;
import com.seibel.distanthorizons.core.wrapperInterfaces.render.AbstractDhRenderApiDefinition;
@@ -35,7 +35,8 @@ public class GlDhRenderApiDefinition extends AbstractDhRenderApiDefinition
return EDhRenderDepth.FORWARD_Z;
}
public EDhRenderApi getRenderApi() { return EDhRenderApi.OPEN_GL; }
public EDhApiRenderApi getRenderApi() { return EDhApiRenderApi.OPEN_GL; }
public boolean isNativeRenderer() { return true; }
//endregion
@@ -22,6 +22,7 @@ package com.seibel.distanthorizons.common.render.openGl.glObject;
import com.seibel.distanthorizons.api.enums.config.EDhApiGLErrorHandlingMode;
import com.seibel.distanthorizons.api.enums.config.EDhApiGpuUploadMethod;
import com.seibel.distanthorizons.api.enums.config.EDhApiLoggerLevel;
import com.seibel.distanthorizons.api.enums.config.EDhApiRenderApi;
import com.seibel.distanthorizons.core.config.Config;
import com.seibel.distanthorizons.core.config.types.ConfigEntry;
import com.seibel.distanthorizons.core.dependencyInjection.ModAccessorInjector;
@@ -29,7 +30,6 @@ 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.render.EDhRenderApi;
import com.seibel.distanthorizons.core.util.objects.GLMessages.*;
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftSharedWrapper;
@@ -132,7 +132,7 @@ public class GLProxy
private GLProxy() throws IllegalStateException
{
if (RENDER_API_DEF.getRenderApi() != EDhRenderApi.OPEN_GL)
if (RENDER_API_DEF.getRenderApi() != EDhApiRenderApi.OPEN_GL)
{
throw new IllegalStateException("[" + GLProxy.class.getSimpleName() + "] was created with the wrong Rendering API ["+RENDER_API_DEF.getRenderApi()+"]!");
}
@@ -24,7 +24,6 @@ import com.seibel.distanthorizons.api.interfaces.render.IDhApiCustomRenderObject
import com.seibel.distanthorizons.common.render.blaze.BlazeDhRenderApiDefinition;
import com.seibel.distanthorizons.common.render.openGl.GlDhRenderApiDefinition;
import com.seibel.distanthorizons.core.config.Config;
import com.seibel.distanthorizons.core.render.EDhRenderApi;
import com.seibel.distanthorizons.core.render.renderer.GenericRenderObjectFactory;
import com.seibel.distanthorizons.common.wrappers.gui.classicConfig.ClassicConfigGUI;
import com.seibel.distanthorizons.common.wrappers.gui.LangWrapper;
@@ -141,7 +140,7 @@ public class DependencySetup
}
// crash if the rendering API set doesn't match Minecraft's
EDhRenderApi mcRenderApi = MinecraftRenderWrapper.INSTANCE.getMcRenderingApi();
EDhApiRenderApi mcRenderApi = MinecraftRenderWrapper.INSTANCE.getMcRenderingApi();
if (mcRenderApi != renderDefinition.getRenderApi())
{
String message = "["+renderDefinition.getApiName()+"] cannot be used due to it's API ["+renderDefinition.getRenderApi().name()+"] not matching what Minecraft is currently set to use. Please either change Minecraft's rendering API or Distant Horizons'.";
@@ -29,6 +29,7 @@ import com.mojang.blaze3d.platform.NativeImage;
#endif
import com.mojang.blaze3d.systems.RenderSystem;
import com.seibel.distanthorizons.api.enums.config.EDhApiLodShading;
import com.seibel.distanthorizons.api.enums.config.EDhApiRenderApi;
import com.seibel.distanthorizons.common.wrappers.McObjectConverter;
import com.seibel.distanthorizons.common.wrappers.misc.LightMapWrapper;
import com.seibel.distanthorizons.core.config.Config;
@@ -36,7 +37,6 @@ import com.seibel.distanthorizons.core.config.Config;
import com.seibel.distanthorizons.core.dependencyInjection.ModAccessorInjector;
import com.seibel.distanthorizons.core.enums.EDhDirection;
import com.seibel.distanthorizons.core.logging.DhLoggerBuilder;
import com.seibel.distanthorizons.core.render.EDhRenderApi;
import com.seibel.distanthorizons.coreapi.util.ColorUtil;
import com.seibel.distanthorizons.core.wrapperInterfaces.misc.ILightMapWrapper;
@@ -437,9 +437,9 @@ public class MinecraftRenderWrapper implements IMinecraftRenderWrapper
#endif
}
private EDhRenderApi renderApi = null;
private EDhApiRenderApi renderApi = null;
@Override
public EDhRenderApi getMcRenderingApi()
public EDhApiRenderApi getMcRenderingApi()
{
if (this.renderApi != null)
{
@@ -448,14 +448,14 @@ public class MinecraftRenderWrapper implements IMinecraftRenderWrapper
#if MC_VER <= MC_26_1_2
this.renderApi = EDhRenderApi.OPEN_GL;
this.renderApi = EDhApiRenderApi.OPEN_GL;
#else
String backendName = RenderSystem
.getDevice()
.getDeviceInfo()
.backendName();
boolean isVulkan = backendName.equalsIgnoreCase("Vulkan");
this.renderApi = isVulkan ? EDhRenderApi.VULKAN : EDhRenderApi.OPEN_GL;
this.renderApi = isVulkan ? EDhApiRenderApi.VULKAN : EDhApiRenderApi.OPEN_GL;
#endif
return this.renderApi;
}