#1616: View Frustum Culling -------------------------------+-------------------------------------------- Reporter: i-NoD | Owner: Type: bug | Status: new Priority: major | Milestone: 3.0 Component: Engine: Graphics | Version: svn/trunk Keywords: clipping, culling | Operating_system: All/Non-Specific Blockedby: | Blocking: -------------------------------+-------------------------------------------- Here is a small patch to enable the aforementioned feature for trunk. Could be easily adapted for 2.3 too. What's for: currently WZ uses very simple algorithm (in clipXY() ) based on the distance between the tested point and player on the grid, it doesn't care if user actually sees the point (OpenGL will remove redundant data anyway, but it's still better to not process it beforehand). While it's not a problem for current low-poly graphics or/and when you've turned shadows off, it helps much in case with high-poly graphics and shadows on - we will process tiles that are actually visible on screen.
The feature was stripped of some extensive functionality due to optimizations (like sphere bounding). To do less calculation every frame clipVFC() is based and guarded by whole clipXY() framework, effectively skipping processing of distant tiles. Also, you don't want to use clipVFC() when you do need clipXY(), consider 'shake screen' functionality with building that exploded behind you (so it's not visible on screen) is still triggering shakes. Based on code from: http://robertmarkmorley.com/opengl/frustumculling.html (hint: use Time Machine) -- Ticket URL: <http://developer.wz2100.net/ticket/1616> Warzone 2100 Trac <http://developer.wz2100.net/> The Warzone 2100 Project _______________________________________________ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev