aboutsummaryrefslogtreecommitdiff
path: root/src/utils/sceneparser.cpp
diff options
context:
space:
mode:
authorDavid Doan <daviddoan@Davids-MacBook-Pro-100.local>2023-12-08 15:04:43 -0500
committerDavid Doan <daviddoan@Davids-MacBook-Pro-100.local>2023-12-08 15:04:43 -0500
commit87be193a27a4d6ab583982e6d22eaccf154fff34 (patch)
tree4db10fc80f9077db4aab78ebd288b36ef4ca9368 /src/utils/sceneparser.cpp
parenta44bcf18656062785c89e8fde25c232431b0d585 (diff)
parent480c22ce9b50caad259e254d0127e99294b4c6ab (diff)
merge
Diffstat (limited to 'src/utils/sceneparser.cpp')
-rw-r--r--src/utils/sceneparser.cpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/utils/sceneparser.cpp b/src/utils/sceneparser.cpp
index 12f83bc..6d668ff 100644
--- a/src/utils/sceneparser.cpp
+++ b/src/utils/sceneparser.cpp
@@ -43,7 +43,7 @@ void initTree(SceneNode* currentNode, std::vector<RenderShapeData> *shapes, std:
SceneParser::translate4(currentTranslation4d, t->translate);
break;
case TransformationType::TRANSFORMATION_SCALE:
- SceneParser::scale4(currentTranslation4d, t->scale);
+ SceneParser::scale4(currentCTM, t->scale);
break;
case TransformationType::TRANSFORMATION_ROTATE:
currentCTM *= SceneParser::getRotationMatrix4(t->angle, t->rotate3, t->rotateW);
@@ -62,11 +62,11 @@ void initTree(SceneNode* currentNode, std::vector<RenderShapeData> *shapes, std:
for(auto primitive : currentNode->primitives) {
// primitive->material.textureData = loadTextureFromFile(QString::fromStdString(primitive->material.textureMap.filename));
RenderShapeData rsd = {
- primitive: *primitive,
- ctm: currentCTM,
- translation4d: currentTranslation4d,
- inverseCTM: glm::inverse(currentCTM),
- inverseTranslation4d: -currentTranslation4d,
+ .primitive = *primitive,
+ .ctm = currentCTM,
+ .translation4d = currentTranslation4d,
+ .inverseCTM = glm::inverse(currentCTM),
+ .inverseTranslation4d = -currentTranslation4d,
};
shapes->push_back(rsd);
}
@@ -176,11 +176,11 @@ void SceneParser::translate4(
}
void SceneParser::scale4(
- glm::vec4 &v1,
- glm::vec4 v2
+ glm::mat4 &m,
+ glm::vec4 v
) {
- v1.x *= v2.x;
- v1.y *= v2.y;
- v1.z *= v2.z;
- v1.w *= v2.w;
+ m[0][0] *= v.x;
+ m[1][1] *= v.y;
+ m[2][2] *= v.z;
+ m[3][3] *= v.w;
} \ No newline at end of file