From 684f299e86317f884025f1f05eea9a5cc15f9f7d Mon Sep 17 00:00:00 2001 From: marauder2k7 Date: Wed, 11 Dec 2024 16:43:23 +0000 Subject: [PATCH] Update assimpShapeLoader.cpp most uniform shape import across the formats.... --- Engine/source/ts/assimp/assimpShapeLoader.cpp | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/Engine/source/ts/assimp/assimpShapeLoader.cpp b/Engine/source/ts/assimp/assimpShapeLoader.cpp index 4a2ecc9f0..f71e06d98 100644 --- a/Engine/source/ts/assimp/assimpShapeLoader.cpp +++ b/Engine/source/ts/assimp/assimpShapeLoader.cpp @@ -182,7 +182,7 @@ void AssimpShapeLoader::enumerateScene() Con::printf("[ASSIMP] Attempting to load file: %s", shapePath.getFullPath().c_str()); // Define post-processing steps - unsigned int ppsteps = aiProcess_Triangulate | aiProcess_ConvertToLeftHanded & ~aiProcess_MakeLeftHanded; + unsigned int ppsteps = aiProcess_Triangulate | aiProcess_ConvertToLeftHanded & ~aiProcess_FlipWindingOrder; const auto& options = ColladaUtils::getOptions(); if (options.reverseWindingOrder) ppsteps |= aiProcess_FlipWindingOrder; @@ -249,12 +249,6 @@ void AssimpShapeLoader::enumerateScene() } aiMatrix4x4 rotationMatrix; - rotationMatrix = aiMatrix4x4::RotationX(-AI_MATH_PI / 2, rotationMatrix); - applyTransformation(mScene->mRootNode, rotationMatrix); - - rotationMatrix = aiMatrix4x4::RotationY(AI_MATH_PI, rotationMatrix); - applyTransformation(mScene->mRootNode, rotationMatrix); - for (unsigned int i = 0; i < mScene->mNumTextures; ++i) { extractTexture(i, mScene->mTextures[i]); } @@ -280,12 +274,8 @@ void AssimpShapeLoader::enumerateScene() if (!boundsNode) { auto* reqNode = new aiNode("bounds"); mScene->mRootNode->addChildren(1, &reqNode); - rotationMatrix = aiMatrix4x4::RotationX(-AI_MATH_PI / 2, rotationMatrix); - applyTransformation(reqNode, rotationMatrix); - /*rotationMatrix = aiMatrix4x4::RotationY(-AI_MATH_PI, rotationMatrix); - applyTransformation(reqNode, rotationMatrix);*/ - - auto* appBoundsNode = new AssimpAppNode(mScene, reqNode, rootNode); + reqNode->mTransformation = mScene->mRootNode->mTransformation; + auto* appBoundsNode = new AssimpAppNode(mScene, reqNode); if (!processNode(appBoundsNode)) { delete appBoundsNode; }