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.
This commit is contained in:
jfons 2021-04-20 18:40:24 +02:00
parent 34b3e8f9e2
commit 4d9d99bb82
50 changed files with 3138 additions and 47 deletions

12
modules/raycast/config.py Normal file
View file

@ -0,0 +1,12 @@
def can_build(env, platform):
if platform == "android":
return env["android_arch"] in ["arm64v8", "x86", "x86_64"]
if platform == "javascript":
return False # No SIMD support yet
return True
def configure(env):
pass