fix(render): draw look-in dynamics only at retail walk turns
This commit is contained in:
parent
572de1ec30
commit
966836895f
5 changed files with 84 additions and 37 deletions
|
|
@ -193,10 +193,14 @@ public sealed class RenderScenePViewFrameProductTests
|
|||
0x0100_0000_0000_0022,
|
||||
RenderProjectionClass.LiveDynamicRoot,
|
||||
parentCell: lookInCell);
|
||||
RenderProjectionRecord outdoorDynamic = Record(
|
||||
0x0100_0000_0000_0023,
|
||||
RenderProjectionClass.LiveDynamicRoot);
|
||||
scene.Apply(
|
||||
[
|
||||
RenderProjectionDelta.Register(Generation, 1, rootDynamic),
|
||||
RenderProjectionDelta.Register(Generation, 2, lookInDynamic),
|
||||
RenderProjectionDelta.Register(Generation, 3, outdoorDynamic),
|
||||
]);
|
||||
|
||||
PortalVisibilityFrame portal = Portal(Cell);
|
||||
|
|
@ -235,6 +239,18 @@ public sealed class RenderScenePViewFrameProductTests
|
|||
.ToArray()
|
||||
.Select(static record => record.Id));
|
||||
|
||||
RenderFrameCandidateRange outside = Assert.Single(
|
||||
frame.RouteRanges.ToArray(),
|
||||
range => range.Route
|
||||
== RenderFrameCandidateRoute.LandscapeOutsideDynamic);
|
||||
RenderProjectionId[] outsideIds = frame.RouteCandidates
|
||||
.Slice(outside.Offset, outside.Count)
|
||||
.ToArray()
|
||||
.Select(static record => record.Id)
|
||||
.ToArray();
|
||||
Assert.Contains(outdoorDynamic.Id, outsideIds);
|
||||
Assert.DoesNotContain(lookInDynamic.Id, outsideIds);
|
||||
|
||||
RenderFrameCandidateRange dynamicLast = Assert.Single(
|
||||
frame.RouteRanges.ToArray(),
|
||||
range => range.Route == RenderFrameCandidateRoute.DynamicLast);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue