Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've discovered that I managed to program a series of boxes with indexed vertices in such a way that every other triangle (Half of each face) has a backwards winding order.

As a result, XNA is culling half of them.

However, my Vertex objects contain normal data that I have explicitly set, and I am going to implement my own backface culling shortly to reduce the size of the VertexBuffer.

Should I turn off winding order culling and manage it myself, or should I make sure the winding order is consistent and let XNA handle it?

share|improve this question
up vote 5 down vote accepted

you won't be able could cull backfaces any where near as quick as the GPU. Especially if you are modifying or recreating the vertex buffer or index buffer on frame-by-frame basis.

I would either;

  1. turn off backface culling (at least for the boxes) and live with the extra triangles being drawn (it'll still be much, much faster than your custom backface culling)

  2. fix your winding order

share|improve this answer
@Phil #2 for sure. It is one thing if you are using models in a format you cannot edit, but if you are creating the data yourself, fix it and let culling happen in hardware. – Stephan van den Heuvel Nov 26 '12 at 17:14
Fixing the winding order it is then. Thanks guys – Phil Nov 26 '12 at 21:01

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.