diff options
Diffstat (limited to 'src/World/BlockSide.hpp')
| -rw-r--r-- | src/World/BlockSide.hpp | 46 |
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} + }}; } } |
