@@ -2738,6 +2738,7 @@ void RendererSceneCull::render_camera(const Ref<RenderSceneBuffers> &p_render_bu
27382738 Projection projection;
27392739 bool vaspect = camera->vaspect ;
27402740 bool is_orthogonal = false ;
2741+ bool is_frustum = false ;
27412742
27422743 switch (camera->type ) {
27432744 case Camera::ORTHOGONAL: {
@@ -2766,10 +2767,11 @@ void RendererSceneCull::render_camera(const Ref<RenderSceneBuffers> &p_render_bu
27662767 camera->znear ,
27672768 camera->zfar ,
27682769 camera->vaspect );
2770+ is_frustum = true ;
27692771 } break ;
27702772 }
27712773
2772- camera_data.set_camera (transform, projection, is_orthogonal, vaspect, jitter, taa_frame_count, camera->visible_layers );
2774+ camera_data.set_camera (transform, projection, is_orthogonal, is_frustum, vaspect, jitter, taa_frame_count, camera->visible_layers );
27732775 } else {
27742776 // Setup our camera for our XR interface.
27752777 // We can support multiple views here each with their own camera
@@ -2791,9 +2793,9 @@ void RendererSceneCull::render_camera(const Ref<RenderSceneBuffers> &p_render_bu
27912793 }
27922794
27932795 if (view_count == 1 ) {
2794- camera_data.set_camera (transforms[0 ], projections[0 ], false , camera->vaspect , jitter, p_jitter_phase_count, camera->visible_layers );
2796+ camera_data.set_camera (transforms[0 ], projections[0 ], false , false , camera->vaspect , jitter, p_jitter_phase_count, camera->visible_layers );
27952797 } else if (view_count == 2 ) {
2796- camera_data.set_multiview_camera (view_count, transforms, projections, false , camera->vaspect );
2798+ camera_data.set_multiview_camera (view_count, transforms, projections, false , false , camera->vaspect );
27972799 } else {
27982800 // this won't be called (see fail check above) but keeping this comment to indicate we may support more then 2 views in the future...
27992801 }
@@ -3641,7 +3643,7 @@ void RendererSceneCull::render_empty_scene(const Ref<RenderSceneBuffers> &p_rend
36413643 RENDER_TIMESTAMP (" Render Empty 3D Scene" );
36423644
36433645 RendererSceneRender::CameraData camera_data;
3644- camera_data.set_camera (Transform3D (), Projection (), true , false );
3646+ camera_data.set_camera (Transform3D (), Projection (), true , false , false );
36453647
36463648 scene_render->render_scene (p_render_buffers, &camera_data, &camera_data, PagedArray<RenderGeometryInstance *>(), PagedArray<RID>(), PagedArray<RID>(), PagedArray<RID>(), PagedArray<RID>(), PagedArray<RID>(), PagedArray<RID>(), environment, RID (), compositor, p_shadow_atlas, RID (), scenario->reflection_atlas , RID (), 0 , 0 , nullptr , 0 , nullptr , 0 , nullptr );
36473649#endif
@@ -3719,7 +3721,7 @@ bool RendererSceneCull::_render_reflection_probe_step(Instance *p_instance, int
37193721
37203722 RENDER_TIMESTAMP (" Render ReflectionProbe, Step " + itos (p_step));
37213723 RendererSceneRender::CameraData camera_data;
3722- camera_data.set_camera (xform, cm, false , false );
3724+ camera_data.set_camera (xform, cm, false , false , false );
37233725
37243726 Ref<RenderSceneBuffers> render_buffers = RSG::light_storage->reflection_probe_atlas_get_render_buffers (scenario->reflection_atlas );
37253727 _render_scene (&camera_data, render_buffers, environment, RID (), RID (), RSG::light_storage->reflection_probe_get_cull_mask (p_instance->base ), p_instance->scenario ->self , RID (), shadow_atlas, reflection_probe->instance , p_step, mesh_lod_threshold, use_shadows);
0 commit comments