正交+透视投影相互叠加

时间:2014-08-20 20:26:41

标签: opengl directx perspective clipping orthographic

组合正投影和透视投影时遇到问题。

我在3d对象上绘制纹理:

enter image description here

我想这与裁剪值有关:

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),

我希望有人可以帮我解决这个问题。 这不是一个大问题,但它困扰着我。

1 个答案:

答案 0 :(得分:0)

您可能尝试在渲染的场景上显示UI。执行此操作的标准方法是首先渲染场景,然后在绘制UI元素之前清除z缓冲区。这样,靠近相机的物体就不会出现z-fighting和干扰。