Menu

#38 Portal culling

1.0
open
RFE (45)
2015-12-11
2015-04-16
No

Portal culling (or portal-based hidden surface removal) is an algorithm of culling based on spatial subdivisions called "cells", "zones" or "sectors". Adjacent ones are connected to each together by openings composed of shared polygons called "portals". The portal rendering consists in rendering the cell in which the view frustum is and in using the portals (i.e check whether the portal is in the view frustum) to determine which cells are potentially visible.

This ticket only deals with the required abstract data type(s) (in order to store the cells and the portals) and the rendering.

The support of directed graphs is implemented in the package jfpsm.graph. The nodes of the engine can be used to store the cells and a new kind of node can be created to store a portal (the two connected nodes and the polygon as a set of triangles).

The algorithm starts by the cell in which the viewer is and it computes some sub-frusta each time it goes through a frustum.

This is an excellent source of inspiration:
http://www.visualizationlibrary.org/documentation/pag_guide_portals.html

N.B: What should happen when the viewer is outside of any cell?

Discussion


Log in to post a comment.