1
\$\begingroup\$

XNA seems to be ignoring my Z coordinate. There is no form of Z-culling at all it seems. How come? I am doing an orthographic projection, and clearing the depth stencil buffer for every draw-call.

My elements rendered are quads with textures, through instancing. These elements have 1 difference in the Z-coordinate in order to eachother, based on theri Z-index.

\$\endgroup\$
2
  • 2
    \$\begingroup\$ Code would help. \$\endgroup\$ Commented Jun 16, 2011 at 12:26
  • \$\begingroup\$ A better description of what you Are seeing would also help. \$\endgroup\$
    – James
    Commented Jun 16, 2011 at 17:45

1 Answer 1

4
\$\begingroup\$

What have you set GraphicsDevice.DepthStencilState to? It should be DepthStencilState.Default to both read and write the depth buffer.

Are the differences in the Z-coordinate within the available precision of the Z-buffer? Are you getting Z-fighting? Are your near and far planes too far apart? (The further apart they are, the less precision you have.)

Do your textures make use of transparency? In that case you must either use alpha-testing (to skip transparent pixels) or you must Z-sort your objects and not use the Z-buffer. You can't use the Z-buffer for transparent objects.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .