Frustum culling process

Hi Everyone,
I would like to have a better understanding of the frustum culling process.

  • What happens to the objects if they are being culled, are the models being decimated similarly to LOD reduction?
    • Does it just collapse the nearby vertices in a bigger radius the further you are away?
    • If its with the radius, its also depending on the design of the space.
      For example, with many big objects with verts that are far apart a decimation will look and work different than with small and condenses areas full of vertices

cc @RaananW who I guess worked on this area IIRC ?

if you are referring to the frustum clipping/culling that sets the active meshes, all it does is decide which meshes are selected by the engine to be rendered.
Each frame the engine generates a list of active meshes - those that are in the camera’s view frustum and renders those meshes only. even if a small part of a large mesh is in the frustum, the entire mesh will be selected as active and will be sent to the GPU for rendering.
LOD is something else - LOD selects a mesh out of a predefined list of meshes, based on the mesh’s distance from the camera.

1 Like

Thanks @RaananW!
I want to follow up in this regard since I’m experiencing a weird behavior where the frustum culling still has some active meshes even though I’m not looking (around 50% is still active) but it is very model relative (some 3d models the frustum culling works as expected [less than 1% is kept] otherwise 50% is kept as active)

Would you have an idea what can cause this behavior?

1 Like

if you want to reproduce this we will be able to see the reason for that. Know that to calculate the active meshes fast it is using the bounding information and not the actual mesh. Also, even if the mesh is backface-culled it will still be selected as active.