diff options
author | BucketBrigade <138534411+CookieBrigade@users.noreply.github.com> | 2024-09-28 10:02:45 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-28 15:02:45 +0000 |
commit | 739b5cbe4b418f8b356a99a6bf0f0788a3b8a445 (patch) | |
tree | 4c9c047d4a86cf4d7bffb8a7b39c2f4d56966c31 /src/main | |
parent | 5fdaada54a63ff7e3ac949547339f28822cfbad7 (diff) | |
download | GT5-Unofficial-739b5cbe4b418f8b356a99a6bf0f0788a3b8a445.tar.gz GT5-Unofficial-739b5cbe4b418f8b356a99a6bf0f0788a3b8a445.tar.bz2 GT5-Unofficial-739b5cbe4b418f8b356a99a6bf0f0788a3b8a445.zip |
Hopefully fix obliterating people's gpu memory (#3297)
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/tectech/thing/block/RenderForgeOfGods.java | 16 | ||||
-rw-r--r-- | src/main/resources/assets/tectech/shaders/star.frag.glsl | 2 |
2 files changed, 15 insertions, 3 deletions
diff --git a/src/main/java/tectech/thing/block/RenderForgeOfGods.java b/src/main/java/tectech/thing/block/RenderForgeOfGods.java index 04c46155c0..7a38b253ef 100644 --- a/src/main/java/tectech/thing/block/RenderForgeOfGods.java +++ b/src/main/java/tectech/thing/block/RenderForgeOfGods.java @@ -40,6 +40,7 @@ public class RenderForgeOfGods extends TileEntitySpecialRenderer { private static float modelNormalize = .0067f * 2; private static boolean initialized = false; + private static boolean failedInit = false; private static int u_Color = -1, u_ModelMatrix = -1, u_Gamma = -1; private Matrix4fStack starModelMatrix = new Matrix4fStack(3); @@ -402,13 +403,24 @@ public class RenderForgeOfGods extends TileEntitySpecialRenderer { @Override public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float timeSinceLastTick) { + if (failedInit) return; if (!(tile instanceof TileEntityForgeOfGods forgeTile)) return; if (forgeTile.getRingCount() < 1) return; + // If something ever fails, just early return and never try again this session if (!initialized) { init(); - initRings(); - if (!initialized) return; + if (!initialized) { + failedInit = true; + return; + } + try { + initRings(); + } catch (Exception e) { + System.out.println(e.getMessage()); + failedInit = true; + return; + } } // Based on system time to prevent tps issues from causing stutters diff --git a/src/main/resources/assets/tectech/shaders/star.frag.glsl b/src/main/resources/assets/tectech/shaders/star.frag.glsl index d5a6ff894e..8a79e09353 100644 --- a/src/main/resources/assets/tectech/shaders/star.frag.glsl +++ b/src/main/resources/assets/tectech/shaders/star.frag.glsl @@ -24,7 +24,7 @@ void main() { vec3 originalYIQ = toYIQ(texture); vec3 yiqColor = vec3(original.x,targetYIQ.yz); vec3 finalrgb = toRGB(yiqColor); - finalrgb = pow(finalrgb,vec3(1/u_Gamma)); + finalrgb = pow(finalrgb,vec3(1.0/u_Gamma)); gl_FragColor = vec4(finalrgb,u_Color.a); } } |