From d6618506d3b31e555aad8e6f3c6917e2118768d9 Mon Sep 17 00:00:00 2001 From: Ben Kyd Date: Tue, 15 Oct 2019 17:36:17 +0100 Subject: [PATCH] it renders now --- src/renderer/chunk.cpp | 9 ++++++--- src/renderer/chunk.hpp | 6 +++--- src/renderer/voxel.cpp | 26 +++++++++++++------------- src/renderer/voxel.hpp | 1 + 4 files changed, 23 insertions(+), 19 deletions(-) diff --git a/src/renderer/chunk.cpp b/src/renderer/chunk.cpp index 349ef76..a0ad6f2 100644 --- a/src/renderer/chunk.cpp +++ b/src/renderer/chunk.cpp @@ -7,10 +7,12 @@ Chunk::Chunk() { + m_model = glm::mat4(1.0f); + for (int x = 0; x < CHUNK_WIDTH; x++) for (int y = 0; y < CHUNK_HEIGHT; y++) for (int z = 0; z < CHUNK_HEIGHT; z++) { - + Voxels.push_back(std::make_shared(x, y, z)); } @@ -23,6 +25,7 @@ Chunk::Chunk() { Chunk::Chunk(std::vector> voxels) { + m_model = glm::mat4(1.0f); Voxels = voxels; m_mesh(); @@ -57,8 +60,8 @@ void Chunk::m_mesh() { for (auto& voxel : Voxels) { - std::vectortempVerts; - std::vectortempUVs; + std::vector tempVerts; + std::vector tempUVs; voxel->GetMesh(tempVerts, tempUVs); diff --git a/src/renderer/chunk.hpp b/src/renderer/chunk.hpp index a42f777..2404587 100644 --- a/src/renderer/chunk.hpp +++ b/src/renderer/chunk.hpp @@ -3,9 +3,9 @@ #include "../common.hpp" -#define CHUNK_HEIGHT 1 -#define CHUNK_WIDTH 1 -#define CHUNK_DEPTH 1 +#define CHUNK_HEIGHT 10 +#define CHUNK_WIDTH 10 +#define CHUNK_DEPTH 10 class Camera; class Shader; diff --git a/src/renderer/voxel.cpp b/src/renderer/voxel.cpp index 9f666aa..93e6ea0 100644 --- a/src/renderer/voxel.cpp +++ b/src/renderer/voxel.cpp @@ -10,16 +10,14 @@ Voxel::Voxel(int x, int y, int z) { m_model = glm::translate(glm::mat4(1.0f), { (float)x, (float)y, (float)z }); - - - //glm::mat4 Matrix = { - // {1, 3, 0, 0}, - // {0, 1, 0, 0}, + // glm::mat4 Matrix = { + // {1, 3, 0, 0}, + // {0, 1, 0, 0}, // {0, 0, 1, 0}, - // {0, 0, 0, 1}, - //}; + // {0, 0, 0, 1}, + // }; - //m_model = Matrix * m_model; + // m_model = Matrix * m_model; // Texture winding order - top, bottom, left, right, front, back @@ -34,21 +32,23 @@ Voxel::Voxel(int x, int y, int z) { std::vector Vert; std::vector UVs; + face.GetMesh(Vert, UVs); + m_vertices.insert(m_vertices.end(), Vert.begin(), Vert.end()); m_uvs.insert(m_uvs.end(), UVs.begin(), UVs.end()); } -/* - for (auto& vert : m_vertices) { - glm::vec4 tmp = { vert, 1 }; + for (int i = 0; i < m_vertices.size(); i++) { + + glm::vec4 tmp = { m_vertices[i], 1 }; glm::vec4 res = tmp * m_model; - vert = { res.x, res.y, res.z }; + m_vertices[i] = { res.x, res.y, res.z }; - }*/ + } } diff --git a/src/renderer/voxel.hpp b/src/renderer/voxel.hpp index 73e78f7..3aa04e4 100644 --- a/src/renderer/voxel.hpp +++ b/src/renderer/voxel.hpp @@ -22,6 +22,7 @@ private: std::vector m_vertices; std::vector m_uvs; + }; #endif