C# 切换视图和投影矩阵后DirectX网格未正确显示
在我的程序中,网格被正确显示,但当我将device.transform.view和device.transform.projection矩阵从左手系统更改为右手系统时,网格不再正确显示,即背面被照亮,正面透明! 有人知道还有什么需要改变才能有一个合适的显示吗 原始矩阵:C# 切换视图和投影矩阵后DirectX网格未正确显示,c#,directx,zbuffer,culling,C#,Directx,Zbuffer,Culling,在我的程序中,网格被正确显示,但当我将device.transform.view和device.transform.projection矩阵从左手系统更改为右手系统时,网格不再正确显示,即背面被照亮,正面透明! 有人知道还有什么需要改变才能有一个合适的显示吗 原始矩阵: device.Transform.View = Matrix.LookAtLH(vFrom, vAt, vUp); device.Transform.Projection = Matrix.PerspectiveFovLH((f
device.Transform.View = Matrix.LookAtLH(vFrom, vAt, vUp);
device.Transform.Projection = Matrix.PerspectiveFovLH((float)Math.PI / 4, fAspect, 0f, 100f);
修改:
device.Transform.View = Matrix.LookAtRH(vFrom, vAt, vUp);
device.Transform.Projection = Matrix.PerspectiveFovRH((float)Math.PI / 4, fAspect, 0f, 100f);
我希望这两个矩阵都会失败,因为你把近平面设为0。它应该是一些小的ε,比如0.0001f 要记住的另一件事是,通过交换系统的惯用手,你很可能会反转tris的缠绕顺序 需要将消隐渲染状态设置为顺时针,而不是逆时针 即
我希望这两个矩阵都会失败,因为你把近平面设为0。它应该是一些小的ε,比如0.0001f 要记住的另一件事是,通过交换系统的惯用手,你很可能会反转tris的缠绕顺序 需要将消隐渲染状态设置为顺时针,而不是逆时针 即
如果你点击我帖子左侧的勾号,那么你接受我的帖子。如果你认为这是有用的一个向上投票(假设你还没有这样做)将是很好的:如果你点击我的帖子左边的勾号,那么你接受我的帖子。如果你认为它是有用的,那么向上投票(假设你还没有这样做)也会很好:D
dxDevice.SetRenderState( RenderState.CullMode, Cull.Clockwise );