Fix large worlds rendering of meshes

Add `Double4x4` for higher precision matrices operations

#2985
This commit is contained in:
Wojtek Figat
2025-02-11 13:01:48 +01:00
parent 21f8dab5de
commit aa8add7b38
13 changed files with 338 additions and 9 deletions

View File

@@ -919,9 +919,7 @@ void AnimatedModel::Draw(RenderContext& renderContext)
return;
if (renderContext.View.Pass == DrawPass::GlobalSurfaceAtlas)
return; // No supported
Matrix world;
GetLocalToWorldMatrix(world);
renderContext.View.GetWorldMatrix(world);
ACTOR_GET_WORLD_MATRIX(this, view, world);
GEOMETRY_DRAW_STATE_EVENT_BEGIN(_drawState, world);
_lastMinDstSqr = Math::Min(_lastMinDstSqr, Vector3::DistanceSquared(_transform.Translation, renderContext.View.WorldPosition));