From a15ef68de8e33df296c565d12994df2ee965626e Mon Sep 17 00:00:00 2001 From: Vixid <52578495+VixidDev@users.noreply.github.com> Date: Sat, 27 Apr 2024 12:07:55 +0100 Subject: Improvement: Added Outline to Custom Scoreboard (#1461) Co-authored-by: J10a1n15 <45315647+j10a1n15@users.noreply.github.com> Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com> --- .../features/misc/RoundedRectangleOutlineShader.kt | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/main/java/at/hannibal2/skyhanni/features/misc/RoundedRectangleOutlineShader.kt (limited to 'src/main/java/at/hannibal2/skyhanni/features/misc') diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/RoundedRectangleOutlineShader.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/RoundedRectangleOutlineShader.kt new file mode 100644 index 000000000..ea8770081 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/RoundedRectangleOutlineShader.kt @@ -0,0 +1,30 @@ +package at.hannibal2.skyhanni.features.misc + +import at.hannibal2.skyhanni.utils.shader.Shader +import at.hannibal2.skyhanni.utils.shader.Uniform +import net.minecraft.client.Minecraft + +object RoundedRectangleOutlineShader : Shader("rounded_rect_outline", "rounded_rect_outline") { + + val INSTANCE: RoundedRectangleOutlineShader + get() = this + + var scaleFactor: Float = 0f + var radius: Float = 0f + var halfSize: FloatArray = floatArrayOf(0f, 0f) + var centerPos: FloatArray = floatArrayOf(0f, 0f) + set(value) { + field = floatArrayOf(value[0], Minecraft.getMinecraft().displayHeight - value[1]) + } + var borderThickness: Float = 5f + var borderBlur: Float = 0.3f + + override fun registerUniforms() { + registerUniform(Uniform.UniformType.FLOAT, "scaleFactor") { scaleFactor } + registerUniform(Uniform.UniformType.FLOAT, "radius") { radius } + registerUniform(Uniform.UniformType.VEC2, "halfSize") { halfSize } + registerUniform(Uniform.UniformType.VEC2, "centerPos") { centerPos } + registerUniform(Uniform.UniformType.FLOAT, "borderThickness") { borderThickness } + registerUniform(Uniform.UniformType.FLOAT, "borderBlur") { borderBlur } + } +} \ No newline at end of file -- cgit