No announcement yet.

Dynamic Occlusion Culling (used in Killzone 3)

  • Filter
  • Time
  • Show
Clear All
new posts

    [FEATURE REQUEST] Dynamic Occlusion Culling (used in Killzone 3)

    While stumbling through some old Siggraph slides, I noticed a occlusion culling technique used in Killzone 3: (Slide 45+)

    As far as I understood they render the bounding box/ simplified collision meshes into a lower resolution buffer. With this they check if an object is occluded by another and skip the rendering of the occluded object.

    The advantages as they state are:
    -Automated process
    -Always on
    -Easy to understand/ tweak
    -Works with dynamic objects

    I don't know how good this approuch is, but I find the idea pretty intressting and would love to hear some opinions.

    As far as I know UE only solution for culling is the cull distance volume.

    The Unreal Engine 4 have this already but you got the other option of the Cull Distance Volumes too to combine with that more focused to large worlds or other optimization things.
    But yes the UE4 have an internal automatic system of this.
    Hevedy - Instance Tools:
    Hevedy - Image Tools:


      Hi 0tacun,

      The engine does this already by culling anything that is not within view.

      You can see this occlusion culling in action by hitting ~ to bring up the console window and enter r.VisualizeOccludedPrimitives 1 This will only work in the editor viewport and not while in standalone game or PIE.

      Any objects that are in your scene that are occluded will have a green bounding box for their representation. You can easily test this in one of the template projects or one of your own.
      Tim Hobson | Learning Resources | Epic Games
      UE4 Documentation


        Thanks Hevedy and Tim for the information!

        I didn't noticed it, since I could still view the occluded objects in wireframe mode. But I'm glad and impressed that it is already there.

        Btw, stunning 4.8 release!


          Originally posted by MrRabbit View Post
          I didn't noticed it, since I could still view the occluded objects in wireframe mode. But I'm glad and impressed that it is already there.
          This tripped me up five years later.

          Glad to see that it now also works in both PIE and standalone!

          However, something still confuses me... why does it say that it drew 50k polygons, when there's literally like a dozen or so on the screen and the rest is behind the door?

          Click image for larger version  Name:	Untitled.jpg Views:	0 Size:	116.4 KB ID:	1762781

          The screenshot was taken with Play Standalone.

          (And this might not have to do with culling, but the DrawPrimitive calls triple when I move my pawn... and I literally only move the pawn through a static world, nothing else. EDIT: This last thing had to do with a single spotlight attached to the pawn, despite the entire world being composed of unlit materials...)
          Last edited by eobet; 05-19-2020, 04:55 PM.