From 2ccca32b6b42b7a9d526fc2d92a642e858c70ead Mon Sep 17 00:00:00 2001 From: turanszkij Date: Fri, 31 Mar 2017 20:51:11 +0200 Subject: [PATCH] rollback armature transform correction --- WickedEngine/wiLoader.cpp | 2 +- WickedEngine/wiRenderer.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/WickedEngine/wiLoader.cpp b/WickedEngine/wiLoader.cpp index a7df33127..d870ba19b 100644 --- a/WickedEngine/wiLoader.cpp +++ b/WickedEngine/wiLoader.cpp @@ -3150,7 +3150,7 @@ void Armature::UpdateTransform() // calculate frame for (Bone* root : rootbones) { - RecursiveBoneTransform(this, root, XMMatrixIdentity()); + RecursiveBoneTransform(this, root, getMatrix()); } } diff --git a/WickedEngine/wiRenderer.cpp b/WickedEngine/wiRenderer.cpp index 4803383d3..ed8c3afd9 100644 --- a/WickedEngine/wiRenderer.cpp +++ b/WickedEngine/wiRenderer.cpp @@ -3756,7 +3756,7 @@ void wiRenderer::RenderMeshes(const XMFLOAT3& eye, const CulledCollection& culle if (!occlusionCulling || !instance->IsOccluded()) { XMMATRIX temp; - if (mesh->softBody) + if (mesh->softBody || instance->isArmatureDeformed()) temp = XMMatrixIdentity(); else temp = XMMatrixTranspose(XMLoadFloat4x4(&instance->world)); @@ -3764,7 +3764,7 @@ void wiRenderer::RenderMeshes(const XMFLOAT3& eye, const CulledCollection& culle if (shaderType == SHADERTYPE_FORWARD || shaderType == SHADERTYPE_TILEDFORWARD || shaderType == SHADERTYPE_DEFERRED) { - if (mesh->softBody) + if (mesh->softBody || instance->isArmatureDeformed()) temp = XMMatrixIdentity(); else temp = XMMatrixTranspose(XMLoadFloat4x4(&instance->worldPrev));