From 5b031a8657897482da7687618885129fd2c7e77b Mon Sep 17 00:00:00 2001 From: turanszkij Date: Sat, 20 Oct 2018 18:49:50 +0100 Subject: [PATCH] fix softbody rayintersect bug --- WickedEngine/wiRenderer.cpp | 3 +-- WickedEngine/wiSceneSystem.cpp | 3 +++ WickedEngine/wiVersion.cpp | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/WickedEngine/wiRenderer.cpp b/WickedEngine/wiRenderer.cpp index f782e3940..38f35f5d0 100644 --- a/WickedEngine/wiRenderer.cpp +++ b/WickedEngine/wiRenderer.cpp @@ -7750,9 +7750,8 @@ RayIntersectWorldResult RayIntersectWorld(const RAY& ray, UINT renderTypeMask, u if (layer.GetLayerMask() & layerMask) { const MeshComponent& mesh = *scene.meshes.GetComponent(object.meshID); - const TransformComponent& transform = scene.transforms[object.transform_index]; - const XMMATRIX objectMat = XMLoadFloat4x4(&transform.world); + const XMMATRIX objectMat = object.transform_index >= 0 ? XMLoadFloat4x4(&scene.transforms[object.transform_index].world) : XMMatrixIdentity(); const XMMATRIX objectMat_Inverse = XMMatrixInverse(nullptr, objectMat); const XMVECTOR rayOrigin_local = XMVector3Transform(rayOrigin, objectMat_Inverse); diff --git a/WickedEngine/wiSceneSystem.cpp b/WickedEngine/wiSceneSystem.cpp index 123a6f03e..de8a05cab 100644 --- a/WickedEngine/wiSceneSystem.cpp +++ b/WickedEngine/wiSceneSystem.cpp @@ -773,6 +773,9 @@ namespace wiSceneSystem weights.resize(physicsToGraphicsVertexMapping.size()); std::fill(weights.begin(), weights.end(), 1.0f); + + for (int i = 0; i < 10; ++i) + weights[i] = 0; } void CameraComponent::CreatePerspective(float newWidth, float newHeight, float newNear, float newFar, float newFOV) diff --git a/WickedEngine/wiVersion.cpp b/WickedEngine/wiVersion.cpp index b0d79dfeb..2a71fb521 100644 --- a/WickedEngine/wiVersion.cpp +++ b/WickedEngine/wiVersion.cpp @@ -9,7 +9,7 @@ namespace wiVersion // minor features, major updates const int minor = 21; // minor bug fixes, alterations, refactors, updates - const int revision = 15; + const int revision = 16; long GetVersion()