From 3f80b0ee6c1432e9ac6bb4716aa9c3b0ac9b231f Mon Sep 17 00:00:00 2001 From: rtk0c Date: Sun, 8 May 2022 00:55:04 -0700 Subject: Changeset: 30 Fix performing translation in multiple places - Camera: project matrix shouldn't need to handle eye position - SimpleGeometryObject: mesh coordinates should be local --- source/SceneThings.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'source/SceneThings.cpp') diff --git a/source/SceneThings.cpp b/source/SceneThings.cpp index ca5f60d..3fa0436 100644 --- a/source/SceneThings.cpp +++ b/source/SceneThings.cpp @@ -47,7 +47,6 @@ std::span SimpleGeometryObject::GetRenderObjects() const { Vertex_PTC vertices[4 /*vertices per face*/ * 6 /*faces*/]; uint16_t indices[3 /*indices per triangle*/ * 2 /*triangles per face*/ * 6 /*faces*/]; - auto pos = GetPos(); auto extents = mSize / 2.0f; int faceGenVerticesIdx = 0; @@ -89,16 +88,16 @@ std::span SimpleGeometryObject::GetRenderObjects() const { indices[faceGenIndicesIdx++] = startVertIdx + kBottomRight; }; for (int xDir : { -1, 1 }) { - float x = pos.x + xDir * extents.x; - GenerateFace(glm::vec3(x, pos.y, pos.z), glm::vec3(0, 0, extents.z), glm::vec3(0, extents.y, 0), mXFaceColor); + float x = xDir * extents.x; + GenerateFace(glm::vec3(x, 0, 0), glm::vec3(0, 0, extents.z), glm::vec3(0, extents.y, 0), mXFaceColor); } for (int yDir : { -1, 1 }) { - float y = pos.y + yDir * extents.y; - GenerateFace(glm::vec3(pos.x, y, pos.z), glm::vec3(extents.x, 0, 0), glm::vec3(0, 0, extents.z), mYFaceColor); + float y = yDir * extents.y; + GenerateFace(glm::vec3(0, y, 0), glm::vec3(extents.x, 0, 0), glm::vec3(0, 0, extents.z), mYFaceColor); } for (int zDir : { -1, 1 }) { - float z = pos.z + zDir * extents.z; - GenerateFace(glm::vec3(pos.x, pos.y, z), glm::vec3(extents.x, 0, 0), glm::vec3(0, extents.y, 0), mZFaceColor); + float z = zDir * extents.z; + GenerateFace(glm::vec3(0, 0, z), glm::vec3(extents.x, 0, 0), glm::vec3(0, extents.y, 0), mZFaceColor); } for (auto& vert : vertices) { -- cgit v1.2.3-70-g09d2