summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/features
diff options
context:
space:
mode:
authorVixid <52578495+VixidDev@users.noreply.github.com>2024-02-19 15:02:49 +0000
committerGitHub <noreply@github.com>2024-02-19 16:02:49 +0100
commit35df2ab2aa2056b61034757fe61554e7075dedd1 (patch)
tree634d4bbd47bb7fc8bc680d884a638d566059300e /src/main/java/at/hannibal2/skyhanni/features
parentb065fc1113977529831be5eab587c1612efdde79 (diff)
downloadskyhanni-35df2ab2aa2056b61034757fe61554e7075dedd1.tar.gz
skyhanni-35df2ab2aa2056b61034757fe61554e7075dedd1.tar.bz2
skyhanni-35df2ab2aa2056b61034757fe61554e7075dedd1.zip
Added support for rendering rounded rectangles. #851
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/RoundedRectangleShader.kt28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/RoundedRectangleShader.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/RoundedRectangleShader.kt
new file mode 100644
index 000000000..6b0ce5e63
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/features/misc/RoundedRectangleShader.kt
@@ -0,0 +1,28 @@
+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 RoundedRectangleShader : Shader("rounded_rect", "rounded_rect") {
+
+ val INSTANCE: RoundedRectangleShader
+ get() = this
+
+ var scaleFactor: Float = 0f
+ var radius: Float = 0f
+ var smoothness: 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])
+ }
+
+ override fun registerUniforms() {
+ registerUniform(Uniform.UniformType.FLOAT, "scaleFactor") { scaleFactor }
+ registerUniform(Uniform.UniformType.FLOAT, "radius") { radius }
+ registerUniform(Uniform.UniformType.FLOAT, "smoothness") { smoothness }
+ registerUniform(Uniform.UniformType.VEC2, "halfSize") { halfSize }
+ registerUniform(Uniform.UniformType.VEC2, "centerPos") { centerPos }
+ }
+} \ No newline at end of file