@@ -2734,6 +2734,7 @@ void RendererSceneCull::render_camera(const Ref<RenderSceneBuffers> &p_render_bu
27342734 Projection projection;
27352735 bool vaspect = camera->vaspect ;
27362736 bool is_orthogonal = false ;
2737+ bool is_frustum = false ;
27372738
27382739 switch (camera->type ) {
27392740 case Camera::ORTHOGONAL: {
@@ -2762,10 +2763,11 @@ void RendererSceneCull::render_camera(const Ref<RenderSceneBuffers> &p_render_bu
27622763 camera->znear ,
27632764 camera->zfar ,
27642765 camera->vaspect );
2766+ is_frustum = true ;
27652767 } break ;
27662768 }
27672769
2768- camera_data.set_camera (transform, projection, is_orthogonal, vaspect, jitter, taa_frame_count, camera->visible_layers );
2770+ camera_data.set_camera (transform, projection, is_orthogonal, is_frustum, vaspect, jitter, taa_frame_count, camera->visible_layers );
27692771 } else {
27702772 // Setup our camera for our XR interface.
27712773 // We can support multiple views here each with their own camera
@@ -2787,9 +2789,9 @@ void RendererSceneCull::render_camera(const Ref<RenderSceneBuffers> &p_render_bu
27872789 }
27882790
27892791 if (view_count == 1 ) {
2790- camera_data.set_camera (transforms[0 ], projections[0 ], false , camera->vaspect , jitter, p_jitter_phase_count, camera->visible_layers );
2792+ camera_data.set_camera (transforms[0 ], projections[0 ], false , false , camera->vaspect , jitter, p_jitter_phase_count, camera->visible_layers );
27912793 } else if (view_count == 2 ) {
2792- camera_data.set_multiview_camera (view_count, transforms, projections, false , camera->vaspect );
2794+ camera_data.set_multiview_camera (view_count, transforms, projections, false , false , camera->vaspect );
27932795 } else {
27942796 // 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...
27952797 }
@@ -3633,7 +3635,7 @@ void RendererSceneCull::render_empty_scene(const Ref<RenderSceneBuffers> &p_rend
36333635 RENDER_TIMESTAMP (" Render Empty 3D Scene" );
36343636
36353637 RendererSceneRender::CameraData camera_data;
3636- camera_data.set_camera (Transform3D (), Projection (), true , false );
3638+ camera_data.set_camera (Transform3D (), Projection (), true , false , false );
36373639
36383640 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 );
36393641#endif
@@ -3711,7 +3713,7 @@ bool RendererSceneCull::_render_reflection_probe_step(Instance *p_instance, int
37113713
37123714 RENDER_TIMESTAMP (" Render ReflectionProbe, Step " + itos (p_step));
37133715 RendererSceneRender::CameraData camera_data;
3714- camera_data.set_camera (xform, cm, false , false );
3716+ camera_data.set_camera (xform, cm, false , false , false );
37153717
37163718 Ref<RenderSceneBuffers> render_buffers = RSG::light_storage->reflection_probe_atlas_get_render_buffers (scenario->reflection_atlas );
37173719 _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