Search code examples
opengldirectxperspectiveclippingorthographic

Orthograpic + Perspective projection clipping over each other


I have a problem when combining the orthographic projection and the Perspective projection.

I'm drawing a texture over a 3d object:

enter image description here

I guess it has something to do with the clipping values:

camProjection = XMMatrixPerspectiveFovLH(0.4f * 3.14f, (float)SCREEN_WIDTH/SCREEN_HEIGHT, 1.0f, 1000.0f);
camProjection2D = XMMatrixOrthographicOffCenterLH(.0f, SCREEN_WIDTH, SCREEN_HEIGHT, .0f, 0.0f, 1000.0f);

Texture coords: (x, y, z, u, v)
Vertex( 0.0f,  0.0f, -1.0f, 0.0f, 1.0f),
Vertex( 0.0f, 20.0f, -1.0f, 0.0f, 0.0f),
Vertex(20.0f, 20.0f, -1.0f, 1.0f, 0.0f),
Vertex(20.0f,  0.0f, -1.0f, 1.0f, 1.0f),

I hope someone can help me with this problem. Its not a big problem but its bugging me.


Solution

  • You're probably trying to display UI over your rendered scene. The standard way to do this is to render you scene first, then clear your z-buffer before drawing UI elements. This way there will be no z-fighting and interference from objects close to camera.