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?



You must log in to answer this question.

Browse other questions tagged .