summary refs log tree commit diff
path: root/src/World/BlockSide.hpp
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2023-07-09 20:51:30 +0200
committerMel <einebeere@gmail.com>2023-07-09 20:51:30 +0200
commit680d9d5b7a61ac955fcec8a5622faa5cf4165c11 (patch)
tree385ada2ac5e666ff4e89e073850c9e1a9b29c99e /src/World/BlockSide.hpp
parentfe2baedc760c2f29e2c720f6b1132a2de33c5430 (diff)
downloadmeowcraft-680d9d5b7a61ac955fcec8a5622faa5cf4165c11.tar.zst
meowcraft-680d9d5b7a61ac955fcec8a5622faa5cf4165c11.zip
Ambient occlusion (without corners)
Diffstat (limited to 'src/World/BlockSide.hpp')
-rw-r--r--src/World/BlockSide.hpp46
1 files changed, 21 insertions, 25 deletions
diff --git a/src/World/BlockSide.hpp b/src/World/BlockSide.hpp
index 69df159..831982a 100644
--- a/src/World/BlockSide.hpp
+++ b/src/World/BlockSide.hpp
@@ -16,8 +16,8 @@ public:
         Top,
         Bottom,
 
-        Left,
         Right,
+        Left,
     };
 
     BlockSide() = default;
@@ -26,31 +26,27 @@ public:
     operator Value() const { return m_side; }
 
     std::array<Vector<3, F32>, 4> face() {
+        // Winding order: (0, 1, 2) (2, 3, 0)
+        // Note: OpenGL Coordinate system has a flipped z axis.
         switch (m_side) {
-            case Front:
-                return {{
-                    {0.0f, 0.0f, 1.0f}, {1.0f, 0.0f, 1.0f}, {1.0f, 1.0f, 1.0f}, {0.0f, 1.0f, 1.0f},
-                }};
-            case Back:
-                return {{
-                    {1.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}, {0.0f, 1.0f, 0.0f}, {1.0f, 1.0f, 0.0f},
-                }};
-            case Top:
-                return {{
-                    {0.0f, 1.0f, 1.0f}, {1.0f, 1.0f, 1.0f}, {1.0f, 1.0f, 0.0f}, {0.0f, 1.0f, 0.0f},
-                }};
-            case Bottom:
-                return {{
-                    {0.0f, 0.0f, 0.0f}, {1.0f, 0.0f, 0.0f}, {1.0f, 0.0f, 1.0f}, {0.0f, 0.0f, 1.0f},
-                }};
-            case Left:
-                return {{
-                    {0.0f, 0.0f, 0.0f},{0.0f, 0.0f, 1.0f},{0.0f, 1.0f, 1.0f}, {0.0f, 1.0f, 0.0f},
-                }};
-            case Right:
-                return {{
-                    {1.0f, 0.0f, 1.0f}, {1.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 0.0f}, {1.0f, 1.0f, 1.0f},
-                }};
+            case Front: return {{
+                {0, 1, 1}, {0, 0, 1}, {1, 0, 1}, {1, 1, 1}
+            }};
+            case Back: return {{
+                {0, 1, 0}, {1, 1, 0}, {1, 0, 0}, {0, 0, 0}
+            }};
+            case Top: return {{
+                {0, 1, 1}, {1, 1, 1}, {1, 1, 0}, {0, 1, 0}
+            }};
+            case Bottom: return {{
+                {0, 0, 1}, {0, 0, 0}, {1, 0, 0}, {1, 0, 1}
+            }};
+            case Right: return {{
+                {1, 1, 0}, {1, 1, 1}, {1, 0, 1}, {1, 0, 0}
+            }};
+            case Left: return {{
+                {0, 1, 0}, {0, 0, 0}, {0, 0, 1}, {0, 1, 1}
+            }};
         }
     }