]> git.localhorst.tv Git - blank.git/blobdiff - src/world.hpp
first attempt at world generation
[blank.git] / src / world.hpp
index 738e6f0eac8401f1149081a93a8171fe73607046..ce44c7c1144352c4c31aedfb0505f86ea5317e05 100644 (file)
@@ -3,6 +3,7 @@
 
 #include "geometry.hpp"
 #include "model.hpp"
+#include "noise.hpp"
 #include "shape.hpp"
 
 #include <list>
@@ -113,16 +114,16 @@ public:
                        pos.z >= 0 && pos.z < Depth();
        }
        static constexpr int ToIndex(const glm::vec3 &pos) {
-               return pos.x + pos.y * Width() + pos.z * Width() * Height();
+               return int(pos.x) + int(pos.y) * Width() + int(pos.z) * Width() * Height();
        }
        static constexpr bool InBounds(int idx) {
                return idx >= 0 && idx < Size();
        }
        static glm::vec3 ToCoords(int idx) {
                return glm::vec3(
-                       idx % Width(),
-                       (idx / Width()) % Height(),
-                       idx / (Width() * Height())
+                       0.5f + idx % Width(),
+                       0.5f + (idx / Width()) % Height(),
+                       0.5f + idx / (Width() * Height())
                );
        }
 
@@ -189,6 +190,9 @@ private:
        StairShape stairShape;
        CuboidShape slabShape;
 
+       SimplexNoise blockNoise;
+       SimplexNoise colorNoise;
+
        std::list<Chunk> chunks;
 
 };