diff options
| author | Mel <einebeere@gmail.com> | 2023-07-09 20:51:30 +0200 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2023-07-09 20:51:30 +0200 |
| commit | 680d9d5b7a61ac955fcec8a5622faa5cf4165c11 (patch) | |
| tree | 385ada2ac5e666ff4e89e073850c9e1a9b29c99e /src/World/BlockSide.hpp | |
| parent | fe2baedc760c2f29e2c720f6b1132a2de33c5430 (diff) | |
| download | meowcraft-680d9d5b7a61ac955fcec8a5622faa5cf4165c11.tar.zst meowcraft-680d9d5b7a61ac955fcec8a5622faa5cf4165c11.zip | |
Ambient occlusion (without corners)
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} + }}; } } |
