diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/shader/uniform/ShaderUniform.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/shader/uniform/ShaderUniform.kt index c9e288b8d..eb5ceb55f 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/shader/uniform/ShaderUniform.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/shader/uniform/ShaderUniform.kt @@ -1,6 +1,6 @@ /* * Minosoft - * Copyright (C) 2020-2023 Moritz Zwerger + * Copyright (C) 2020-2024 Moritz Zwerger * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * @@ -54,5 +54,4 @@ class ShaderUniform( upload() } } - } diff --git a/src/main/resources/assets/minosoft/rendering/shader/particle/particle.gsh b/src/main/resources/assets/minosoft/rendering/shader/particle/particle.gsh index f9dd5cfe8..f584e536b 100644 --- a/src/main/resources/assets/minosoft/rendering/shader/particle/particle.gsh +++ b/src/main/resources/assets/minosoft/rendering/shader/particle/particle.gsh @@ -21,6 +21,7 @@ uniform vec3 uCameraRight; uniform vec3 uCameraUp; out vec4 finTintColor; +out vec3 finFragmentPosition; in Vertex { @@ -41,8 +42,9 @@ in Vertex void emit(vec3 offset, vec2 uv) { vec3 pointPosition = gl_in[0].gl_Position.xyz; + finFragmentPosition = pointPosition + (offset * ginVertex[0].scale); - gl_Position = uViewProjectionMatrix * vec4(pointPosition + offset * ginVertex[0].scale, 1.0); + gl_Position = uViewProjectionMatrix * vec4(finFragmentPosition, 1.0f); finAnimationUV = uv; EmitVertex();