Frustum Culling in Cinder
#############################
Video Source: www.youtube.com/watch?v=fNa_Gh5gFWY
A new sample for the Cinder framework (http://libcinder.org/), that shows how to perform frustum culling on your scene. • This new sample uses a modified version of Cinder (release) v.0.8.3. The ci::AxisAlignedBox class has been extended with functions that help perform intersection tests. A new ci::Plane and ci::Frustum class encapsulate most of the algorithms needed to perform this type of culling. With the new and updated classes, you can perform the culling in only 2 lines of code. Fast bounding box approximation can be done in a single line. The Frustum can also potentially be used for portal culling; a function to construct a frustum from a camera location and a quad is included. • The new sample loads a 3D object of a heart made from 1000+ polygons and renders 1500 instances of it. The whole scene therefor consists of over 1,500,000 polygons. Frustum culling helps to reduce the complexity of the scene and increase the frame rate, by finding out which objects aren't visible. These objects are then excluded (culled) when drawing the scene. • Most of the code was based on this article: • http://www.lighthouse3d.com/tutorials... • The source code is available on the Cinder forums. See: • http://forum.libcinder.org/#Topic/232... • Newsflash! The code will become part of the next major Cinder release and has been merged with the master branch on Github. See: http://forum.libcinder.org/#Topic/232...
#############################