I'm trying to implement portal based occlusion culling:

  • There are sectors and portals.

  • When a portal is visible, the sector it is connected to is rendered.

  • The sector is made of polygons and portals.

  • The sector is sealed by a portal to the next sector.

  • The portal has an axis aligned bounding box.

  • The view frustum has an array of mathematical planes in it. There is top, bottom, left, right, near and far.

  • The view frustum planes change shape when in contact with a wall.

  • When the view frustum planes are in contact with the portal's AABB, the sector get rendered.

    Then an array of mathematical planes are added behind the portal to create a reduced view frustum.

  • Reduced frustums are made from other portals in contact with the view frustum until there are no more portals in view.

How can I perform the bolded step, where I find a new collection of frustum planes representing the portion of the original frustum that continues through the portal's AABB?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.