X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fworld.cpp;h=216f3a2d007916ae902747d8eee5b4b8b2470108;hb=b35ce3a6423c554b34b37362c5550bd705e63a1d;hp=d115378f10b6926e771e65eb9fad34d6ccdb44e1;hpb=804bde3fc09e4317eef629861638a68bfad3e343;p=blank.git diff --git a/src/world.cpp b/src/world.cpp index d115378..216f3a2 100644 --- a/src/world.cpp +++ b/src/world.cpp @@ -13,6 +13,7 @@ World::World() , slabShape({{ -0.5f, -0.5f, -0.5f }, { 0.5f, 0.0f, 0.5f }}) , blockNoise(0) , colorNoise(1) +, player() , loaded() , to_generate() { blockType.Add(BlockType{ true, { 1.0f, 1.0f, 1.0f }, &blockShape }); // white block @@ -101,7 +102,7 @@ bool World::Intersection( int cur_blkid; float cur_dist; glm::vec3 cur_normal; - if (cur_chunk.Intersection(ray, M * cur_chunk.Transform(), &cur_blkid, &cur_dist, &cur_normal)) { + if (cur_chunk.Intersection(ray, M * cur_chunk.Transform(player.ChunkCoords()), &cur_blkid, &cur_dist, &cur_normal)) { if (cur_dist < closest_dist) { closest_chunk = &cur_chunk; closest_blkid = cur_blkid; @@ -159,10 +160,10 @@ void World::Update(int dt) { void World::Render(DirectionalLighting &program) { program.SetLightDirection({ -1.0f, -3.0f, -2.0f }); - program.SetView(glm::inverse(player.Transform())); + program.SetView(glm::inverse(player.Transform(player.ChunkCoords()))); for (Chunk &chunk : LoadedChunks()) { - program.SetM(chunk.Transform()); + program.SetM(chunk.Transform(player.ChunkCoords())); chunk.Draw(); } }