tags:

views:

696

answers:

2

Should i always be using this method when rendering? Does it slow down much on bad gfx cards?

If the end result will not have many culled faces, should i even be using this method then?

A: 

It depends on the stuff you are rendering. In general culling is desirable. The only reason I can imagine not to use it is to render models that have visible backfaces. Another scenario where culling might not be wanted could be poorly modeled models where the vertices are defined in the wrong order.

h0b0
what about the culling ratio? if it doesnt really make the result any different from that what it was before culling, should i even use culling? in other words: is there much impact on speed when this is enabled?
Newbie
+3  A: 

If all your models are defined correctly (convex, with consistent vertex winding), culling will never hurt performance, and will nearly always help performance.

Imagine you are rendering a cube, with culling disabled. The faces on the back (far side) of the cube get rendered facing away from you, and whatever back face material attributes you've chosen get applied. Then the faces on the front of the cube get rendered: since the back faces that were just rendered are the inside of the cube, they are 100% occluded by the front faces.

If the cube was oriented differently, the front faces might be rasterized first, but the back faces will still be processed and then the fragments rejected by the z buffer.

Net result: you rasterized 2x as many fragments as necessary. This gets to be a big deal with large numbers of polygons or complex pixel shaders. Face culling allows you to completely avoid rasterizing faces that you know won't show up.

If you have a character model with ~100,000 polygons, face culling halves the amount of work the pixel hardware has to do every frame. This is a big savings if you have big surface shaders.

If you're working with small models and no shaders, culling really doesn't matter these days. But it's good practice to enable anyway.

Asher Dunn