Meshes appear layered even without depth stencil view

Started by
12 comments, last by BornToCode 10 years, 5 months ago

Hi,

I am rendering a 3D model using Direct3D 11 and the meshes on my model appear layered as if there was a depth stencil view active which would layer the meshes but I haven't created one. Are there any other factors that could cause this to happen? Thanks.

Advertisement

If I understand you correctly, it's probably a combination of the order in which you draw your meshes, and the winding order (front facing).

Can you post an image?

mWej7Qr.png

As you can see the model is clearly layered. Any solutions?

Does the mesh look OK from all directions?

If yes, then you have a depth stencil even though you think you don't.

If not, then the answer why it looks fine on the screenshot is that it's a coincidence and the mesh's triangles are defined/drawn in the proper order.

No it doesn't look OK as you can see the helmet is behind the head rather than where it should be.

What happens if you rotate it 180 degrees so you are looking towards the back?

With the information given, I think it's just a coincidence that the triangles are being drawn in the right order to make it look semi-correct.

Also, it's quite possible that you do have a depth buffer even though you didn't ask for one - check to make sure.

There is a similar result from the back but this time the hat is still in the background so you don't see the hat as you might expect. Could this have any relevance?

EDIT: I don't think I would have been just given a stencil buffer because I tried it with the same model but a different model file format and it displayed correctly.

"Could this have any relevance?" Yeah - it tells me that you don't have a back buffer. You are drawing the head first, then the body. What you are seeing is exactly as expected. Try drawing the body first and then the head, and you'll see what I mean.

What you are conceiving as a problem is actually quite normal - it only depends on the draw order/windings. (in other words, ignore it!)

Let me add...

Each time you draw without a depth buffer, you are simply drawing over the top of previously rendered stuff.

So - the order in which you draw stuff is really quite important.

I can't be sure from the screenshot, but it seems to me that the face culling order could be wrong... try changing your front face setting from clockwise to counter clockwise, or biseversa

This topic is closed to new replies.

Advertisement