diff options
| author | jfons <joan.fonssanchez@gmail.com> | 2021-04-20 18:40:24 +0200 |
|---|---|---|
| committer | jfons <joan.fonssanchez@gmail.com> | 2021-04-23 21:45:23 +0200 |
| commit | 4d9d99bb827967e2bb931eeb8c3f0e079b39ae1a (patch) | |
| tree | dcd5ff54562db253500aa835a27f3b2548e42eb9 /scene/main/scene_tree.cpp | |
| parent | 34b3e8f9e2ae076990ecf3b2827eff759ba2abf9 (diff) | |
| download | redot-engine-4d9d99bb827967e2bb931eeb8c3f0e079b39ae1a.tar.gz | |
Implement occlusion culling
Added an occlusion culling system with support for static occluder meshes.
It can be enabled via `Project Settings > Rendering > Occlusion Culling > Use Occlusion Culling`.
Occluders are defined via the new `Occluder3D` resource and instanced using the new
`OccluderInstance3D` node. The occluders can also be automatically baked from a
scene using the built-in editor plugin.
Diffstat (limited to 'scene/main/scene_tree.cpp')
| -rw-r--r-- | scene/main/scene_tree.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/scene/main/scene_tree.cpp b/scene/main/scene_tree.cpp index a62c4ff770..387af3703b 100644 --- a/scene/main/scene_tree.cpp +++ b/scene/main/scene_tree.cpp @@ -1378,6 +1378,9 @@ SceneTree::SceneTree() { const bool use_debanding = GLOBAL_DEF("rendering/anti_aliasing/quality/use_debanding", false); root->set_use_debanding(use_debanding); + const bool use_occlusion_culling = GLOBAL_DEF("rendering/occlusion_culling/use_occlusion_culling", false); + root->set_use_occlusion_culling(use_occlusion_culling); + float lod_threshold = GLOBAL_DEF("rendering/mesh_lod/lod_change/threshold_pixels", 1.0); ProjectSettings::get_singleton()->set_custom_property_info("rendering/mesh_lod/lod_change/threshold_pixels", PropertyInfo(Variant::FLOAT, "rendering/mesh_lod/lod_change/threshold_pixels", PROPERTY_HINT_RANGE, "0,1024,0.1")); root->set_lod_threshold(lod_threshold); |
