From a3deac5df011a83c01d3d65c229dfc1eb40db88a Mon Sep 17 00:00:00 2001 From: Bixilon Date: Wed, 24 May 2023 19:42:39 +0200 Subject: [PATCH] world border: remove camera offset MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This breaks it even harder… --- .../gui/rendering/world/border/WorldBorderRenderer.kt | 6 ++---- .../minosoft/rendering/shader/world/border/border.vsh | 2 -- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/world/border/WorldBorderRenderer.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/world/border/WorldBorderRenderer.kt index 3bda890f0..aaf213714 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/world/border/WorldBorderRenderer.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/world/border/WorldBorderRenderer.kt @@ -15,7 +15,6 @@ package de.bixilon.minosoft.gui.rendering.world.border import de.bixilon.kotlinglm.func.common.clamp import de.bixilon.kotlinglm.vec2.Vec2 -import de.bixilon.kotlinglm.vec2.Vec2d import de.bixilon.kutil.latch.CountUpAndDownLatch import de.bixilon.kutil.time.TimeUtil.millis import de.bixilon.minosoft.data.registries.identified.Namespaces.minosoft @@ -75,7 +74,7 @@ class WorldBorderRenderer( } val textureOffset = (offsetReset - time) / ANIMATION_SPEED.toFloat() shader.textureOffset = 1.0f - textureOffset - shader.cameraHeight = (context.connection.camera.entity.renderInfo.eyePosition.y - context.camera.offset.offset.y).toFloat() + shader.cameraHeight = context.connection.camera.entity.renderInfo.eyePosition.y.toFloat() val distance = border.getDistanceTo(context.connection.player.physics.position).toFloat() val strength = 1.0f - (distance.clamp(0.0f, 100.0f) / 100.0f) @@ -87,8 +86,7 @@ class WorldBorderRenderer( color = color.with(alpha = (strength * strength)) shader.tintColor = color shader.radius = border.diameter.toFloat() / 2.0f - val offset = context.camera.offset.offset - shader.center = Vec2(border.center - Vec2d(offset.x, offset.z)) + shader.center = Vec2(border.center) } override fun drawTranslucent() { diff --git a/src/main/resources/assets/minosoft/rendering/shader/world/border/border.vsh b/src/main/resources/assets/minosoft/rendering/shader/world/border/border.vsh index 0fb35a12d..34049f497 100644 --- a/src/main/resources/assets/minosoft/rendering/shader/world/border/border.vsh +++ b/src/main/resources/assets/minosoft/rendering/shader/world/border/border.vsh @@ -25,7 +25,6 @@ uniform float uCameraHeight; flat out uint finTextureIndex; out vec3 finTextureCoordinates; -out vec3 finFragmentPosition; #include "minosoft:uv" @@ -43,7 +42,6 @@ void main() { position.x += uCenter.x; position.z += uCenter.y; gl_Position = uViewProjectionMatrix * vec4(position, 1.0f); - finFragmentPosition = position; finTextureIndex = uIndexLayer >> 28u; vec2 uv = CONST_UV[floatBitsToUint(uvIndex)];