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

@@ -342,3 +342,9 @@ struct TIsPODType<GeometryDrawStateData>
drawState.PrevWorld = worldMatrix; \
drawState.PrevFrame = frame; \
}
#if USE_LARGE_WORLDS
#define ACTOR_GET_WORLD_MATRIX(actor, view, world) Real4x4 worldReal; actor->GetLocalToWorldMatrix(worldReal); renderContext.View.GetWorldMatrix(worldReal); Matrix world = (Matrix)worldReal;
#else
#define ACTOR_GET_WORLD_MATRIX(actor, view, world) Real4x4 world; actor->GetLocalToWorldMatrix(world); renderContext.View.GetWorldMatrix(world);
#endif