Skip to content

Commit

Permalink
LocalRenderShadowVolume must update RenderCameraPosition
Browse files Browse the repository at this point in the history
  • Loading branch information
michaliskambi committed Jun 5, 2023
1 parent f8a75bc commit 97f98fb
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion src/scene/castlescene.pas
Expand Up @@ -97,7 +97,8 @@ TSceneRenderOptions = class(TCastleRenderOptions)

FReceiveShadowVolumes: Boolean;
FTempPrepareParams: TPrepareParams;
{ Camera position, in local scene coordinates, known during the Render call. }
{ Camera position, in local scene coordinates, known during
the LocalRender or LocalRenderShadowVolume calls. }
RenderCameraPosition: TVector3;
FCastGlobalLights: Boolean;
FWasVisibleFrameId: TFrameId;
Expand Down Expand Up @@ -1718,6 +1719,8 @@ procedure TCastleScene.LocalRenderShadowVolume(const Params: TRenderParams;

ForceOpaque := not (RenderOptions.Blending and (RenderOptions.Mode = rmFull));

// DistanceCullingCheck uses this value, and it may be called here
RenderCameraPosition := Params.InverseTransform^.MultPoint(Params.RenderingCamera.Position);

{ calculate and check SceneBox }
SceneBox := LocalBoundingBox;
Expand Down

0 comments on commit 97f98fb

Please sign in to comment.