CULLING Flashcards
What is Culling
In graphical scenes it is likely that there is much more underlying detail in the model than is actually rendered
(if we cant see them, we shouldn’t waste time rendering them)
‘culling’ is used to achieve this
What is detail culling
The idea to not bother drawing the detail on objects which are too small to have perceivable effect on the final scene
we just need to determine the size of the object - culling objects at a particular distance or size
this approach is particularly effective for moving scenes
What is backface culling
we can calculate the dot product of the view vector and the polygons surface normal to calculate if the face of an object will never be seen and so we do not need to bother rendering it
If the dot product is negative it is facing away and can be discarded
if positive - facing us and should be drawn
luckily most modern gpu can do these calculations
What is frustum culling
objects outside the frustum are discarded (outside of the camera viewpoint)
if objects are on the boundary, they are ‘clipped’
What is occlusion culling
Z-buffer techniques help with objects in front of each other being ignored but happens late in the GPU pipeline
Ideally, we can know earlier to not render objects that will be hidden behind closer opaque ones
1) We can create Potentially Visible Sets of objects - dividing the scene into regions and pre computing their visibility
2) Using portals (windows/doors) to figure out which indoor rooms and objects will be seen and otherwise ignoring rendering