polygon-face culling

Started by
3 comments, last by applesauce 17 years, 12 months ago
a few questions. does back-face culling actually provide a speed boost in rendering? without enabling it in opengl, for example, are the farthest polygons in a cube actually drawn and then subsequently drawn over by the rest of the cube, or are they culled automatically? i was thinking the latter, which is part of why i asked the question. but secondly, is there any case where enabling front/back-face culling would negatively impact render time?(edit: through the actual culling process and not because more polygons may end up on camera)
Advertisement
Due to the culling being an additional rendering step in the pipeline of OpenGL, performance may only become valuable with large amounts of triangles.
You should always do rough frustum culling,etc... first and let OpenGL perform it's culling on the resulting (simplified) set of triangles.
Back face culling absolutely provides a speed boost in rendering.
It saves you from filling in ~50% of the triangles. Many graphics cards are bound by the fill rate.

I don't think that it can ever have a negative impact, because it's done in hardware. So even if none of the triangles gets culled, each fragment going through an extra dot product merely adds latency to the pipeline, but does not effect throughput.
okay. the reason i ask about negative impact is that i can name at least one game that apparently doesn't use back-face culling, and i've seen it elsewhere. unless culling is dynamic in these cases, meaning that front/back-faces are only culled when not currently viewable, then i don't understand why it wouldn't be used. that example is mgs2. but even mgs1 uses face culling from what i can tell, so it just seems odd.
anyone have an idea otherwise? i'd guess that mgs2 uses a combination of frustum culling and selective culling that i mentioned. but the only reasoning for selective culling that i can come up with is for the use of double-sided polygon objects or walls without the need to tag them as so. then again, i don't know.

This topic is closed to new replies.

Advertisement