diff options
author | makamys <makamys@outlook.com> | 2023-11-24 05:02:20 +0100 |
---|---|---|
committer | makamys <makamys@outlook.com> | 2023-11-24 07:36:15 +0100 |
commit | ad3e310f2aa1a75b066d0959e943ea5e1c60a49e (patch) | |
tree | 7f09645695683801706ca34e82890a9eddeeeda6 /src/main | |
parent | 76261b9eed25cf9719fecba7fbad4281b9ce6567 (diff) | |
download | Neodymium-ad3e310f2aa1a75b066d0959e943ea5e1c60a49e.tar.gz Neodymium-ad3e310f2aa1a75b066d0959e943ea5e1c60a49e.tar.bz2 Neodymium-ad3e310f2aa1a75b066d0959e943ea5e1c60a49e.zip |
Only check if fog is enabled once per frame
GL calls were being made every time `shouldRenderMesh` was called, oops.
This could cause worse performance with Nd than without it if `renderFog` is set
to `auto` (added in 0.1.5)
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/makamys/neodymium/renderer/NeoRenderer.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/java/makamys/neodymium/renderer/NeoRenderer.java b/src/main/java/makamys/neodymium/renderer/NeoRenderer.java index 7dd94bf..b3564ff 100644 --- a/src/main/java/makamys/neodymium/renderer/NeoRenderer.java +++ b/src/main/java/makamys/neodymium/renderer/NeoRenderer.java @@ -61,6 +61,8 @@ public class NeoRenderer { public boolean forceRenderFog; public boolean hasIncompatibilities; + private boolean fogEnabled; + private static int MAX_MESHES; private int VAO; @@ -334,6 +336,8 @@ public class NeoRenderer { fogStartEnd.put(glGetFloat(GL_FOG_END)); fogStartEnd.flip(); + + fogEnabled = GL11.glIsEnabled(GL11.GL_FOG) && !OFUtil.isFogOff(); } private void updateUniforms(double alpha, int pass) { @@ -623,14 +627,14 @@ public class NeoRenderer { return ((forceRenderFog || isFogEnabled()) ? shaderProgramsFog : shaderProgramsNoFog)[pass]; } - private static boolean isFogEnabled() { + private boolean isFogEnabled() { switch(Config.renderFog) { case TRUE: return true; case FALSE: return false; default: - return GL11.glIsEnabled(GL11.GL_FOG) && !OFUtil.isFogOff(); + return fogEnabled; } } |