From de39d10776ca2981a11e2499e3a6bc88dcd822d7 Mon Sep 17 00:00:00 2001 From: 0x01FE <0x01fe@0x01fe.net> Date: Wed, 19 Nov 2025 22:06:57 -0600 Subject: [PATCH] update readme and remove a debug --- .attachments/data-structure-redo.png | Bin 0 -> 59674 bytes README.md | 6 ++++++ src/Mesh.cpp | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .attachments/data-structure-redo.png diff --git a/.attachments/data-structure-redo.png b/.attachments/data-structure-redo.png new file mode 100644 index 0000000000000000000000000000000000000000..36ea6af5d8aa4a251925ddb075fcadaf96dfc61c GIT binary patch literal 59674 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index bcd9228..cbc3e76 100644 --- a/README.md +++ b/README.md @@ -47,3 +47,9 @@ It took me a couple of days to fix the ray casting. I forgot that my mesh is off Woah! The camera doesn't just phase through placed blocks anymore! The camera can also fall into the void for eternity! So cool! ![The camera, sitting atop a built platform, overlooking another "Hi" built from stone](.attachments/physics.png) + +## 0.8.0 : Data Structure Redo - 11/19/25 + +Final part of the blog post tutorial. Changing the data structure of the Chunk's to store voxels in a 1d array instead of a HashMap. + +![Hi written on a dirt plane in stone.](.attachments/data-structure-redo.png) diff --git a/src/Mesh.cpp b/src/Mesh.cpp index f0b772a..625bc5b 100644 --- a/src/Mesh.cpp +++ b/src/Mesh.cpp @@ -43,7 +43,7 @@ void Mesh::init() { void Mesh::uploadData(const std::vector &vboData, const std::vector &eboData) { m_indexCount = eboData.size(); - std::cout << "Uploading mesh: " << vboData.size() << " floats, " << eboData.size() << " indices" << std::endl; + // std::cout << "Uploading mesh: " << vboData.size() << " floats, " << eboData.size() << " indices" << std::endl; // Bind VAO first, then upload buffer data glBindVertexArray(m_VAO);