Efficient backface culling
Members - Reputation: 192
Posted 01 March 2009 - 12:50 AM
Crossbones+ - Reputation: 4700
Posted 01 March 2009 - 01:25 AM
So, implementations could do just that - calculate the dot product results with a standard direction like along the z-axis. Then that could be used as your key for sorting and testing.
I could be interesting to try this out, but I think the fact that the view vector varies across one model could be an issue. You could make your submaps based on the local average of the dot result, meaning you don't need additional memory - just sort the list of vertices according to the dot result.
Hope this helps!
Jason Zink :: DirectX MVP
Direct3D 11 engine on CodePlex: Hieroglyph 3
Direct3D Books: Practical Rendering and Computation with Direct3D 11, Programming Vertex, Geometry, and Pixel Shaders
Articles: Dual-Paraboloid Mapping Article :: Parallax Occlusion Mapping Article (original):: Fast Silhouettes Article
Games: Lunar Rift
Members - Reputation: 226
Posted 01 March 2009 - 02:03 PM
These generally reduce the number of dot products you have to make, but it implies that your draw order no longer has the same spatial locality, so you can pay a significant memory cost - the result may actually hurt or be a wash.
I am assuming this is for a software renderer? On graphics hardware, locality becomes even more important due to the vertex caching.