diff options
Diffstat (limited to 'src/main/java/dev/figboot/cuberender/state/Framebuffer.java')
| -rw-r--r-- | src/main/java/dev/figboot/cuberender/state/Framebuffer.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/main/java/dev/figboot/cuberender/state/Framebuffer.java b/src/main/java/dev/figboot/cuberender/state/Framebuffer.java index 17f4870..8da0803 100644 --- a/src/main/java/dev/figboot/cuberender/state/Framebuffer.java +++ b/src/main/java/dev/figboot/cuberender/state/Framebuffer.java @@ -27,6 +27,7 @@ public class Framebuffer { @Setter private Matrix4f transform; @Setter private BlendMode blendMode = BlendMode.DISABLE; + @Setter private boolean cullBackFace = true; public Framebuffer(int width, int height) { this.width = width; @@ -114,6 +115,10 @@ public class Framebuffer { vert2 = transform.transform(vert2); normal = transform.transform(normal).normalize(); + if (cullBackFace && normal.z < 0) { + return; + } + float sx0 = logToScrX(vert0.x), sy0 = logToScrY(vert0.y); float sx1 = logToScrX(vert1.x), sy1 = logToScrY(vert1.y); float sx2 = logToScrX(vert2.x), sy2 = logToScrY(vert2.y); |
