From 2b43b48607989c31f82c1a7861beeaa09148ca30 Mon Sep 17 00:00:00 2001 From: bigfoot547 Date: Fri, 14 Jun 2024 22:29:45 -0500 Subject: transparency is fixed also capes --- src/main/java/dev/figboot/cuberender/state/BlendMode.java | 6 +++--- src/main/java/dev/figboot/cuberender/state/Texture.java | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'src/main/java/dev/figboot/cuberender/state') diff --git a/src/main/java/dev/figboot/cuberender/state/BlendMode.java b/src/main/java/dev/figboot/cuberender/state/BlendMode.java index 0c30998..1c1acf4 100644 --- a/src/main/java/dev/figboot/cuberender/state/BlendMode.java +++ b/src/main/java/dev/figboot/cuberender/state/BlendMode.java @@ -12,9 +12,9 @@ public enum BlendMode { float pAlphaFactor = prev.w * (1 - inOutColor.w); float aOut = inOutColor.w + pAlphaFactor; - inOutColor.x = (inOutColor.x + prev.x * pAlphaFactor) / aOut; - inOutColor.y = (inOutColor.y + prev.y * pAlphaFactor) / aOut; - inOutColor.z = (inOutColor.z + prev.z * pAlphaFactor) / aOut; + inOutColor.x = (inOutColor.x * inOutColor.w + prev.x * pAlphaFactor) / aOut; + inOutColor.y = (inOutColor.y * inOutColor.w + prev.y * pAlphaFactor) / aOut; + inOutColor.z = (inOutColor.z * inOutColor.w + prev.z * pAlphaFactor) / aOut; inOutColor.w = aOut; }); diff --git a/src/main/java/dev/figboot/cuberender/state/Texture.java b/src/main/java/dev/figboot/cuberender/state/Texture.java index 843638d..70e66b2 100644 --- a/src/main/java/dev/figboot/cuberender/state/Texture.java +++ b/src/main/java/dev/figboot/cuberender/state/Texture.java @@ -11,4 +11,8 @@ public class Texture { this.width = image.getWidth(); this.height = image.getHeight(); } + + public float calcAspect() { + return (float)width / height; + } } -- cgit v1.2.3-70-g09d2