summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorjfons <joan.fonssanchez@gmail.com>2021-04-20 18:40:24 +0200
committerjfons <joan.fonssanchez@gmail.com>2021-04-23 21:45:23 +0200
commit4d9d99bb827967e2bb931eeb8c3f0e079b39ae1a (patch)
treedcd5ff54562db253500aa835a27f3b2548e42eb9 /drivers
parent34b3e8f9e2ae076990ecf3b2827eff759ba2abf9 (diff)
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 'drivers')
-rw-r--r--drivers/dummy/rasterizer_dummy.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/dummy/rasterizer_dummy.h b/drivers/dummy/rasterizer_dummy.h
index 9d6be1a802..f9a76d1603 100644
--- a/drivers/dummy/rasterizer_dummy.h
+++ b/drivers/dummy/rasterizer_dummy.h
@@ -548,6 +548,12 @@ public:
void lightmap_set_probe_capture_update_speed(float p_speed) override {}
float lightmap_get_probe_capture_update_speed() const override { return 0; }
+ /* OCCLUDER */
+
+ RID occluder_allocate() override { return RID(); }
+ void occluder_initialize(RID p_rid) override {}
+ void occluder_set_mesh(RID p_occluder, const PackedVector3Array &p_vertices, const PackedInt32Array &p_indices) {}
+
/* PARTICLES */
RID particles_allocate() override { return RID(); }