summaryrefslogtreecommitdiffstats
path: root/src/main/java/dev/figboot/cuberender/state/Framebuffer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/dev/figboot/cuberender/state/Framebuffer.java')
-rw-r--r--src/main/java/dev/figboot/cuberender/state/Framebuffer.java5
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);