Directx 尝试使用TriangleStrip Topologu创建三角形时的奇怪行为
我尝试在中创建这个2D三角形,将输入汇编程序设置为三角形带:Directx 尝试使用TriangleStrip Topologu创建三角形时的奇怪行为,directx,directx-11,directx-10,Directx,Directx 11,Directx 10,我尝试在中创建这个2D三角形,将输入汇编程序设置为三角形带: 1.(0.0f, 0.0f, 0.5f) 2.(-0.5f, 0.0f, 0.5f) 3.(-0.5f, -0.5f, 0.5f) 但是,没有绘制三角形,事实上渲染目标上没有绘制任何东西,甚至没有绘制一条直线。我到处乱搞,然后我交换了坐标2和3,结果成功了。三角形是按我的意图画的。这种奇怪行为的原因是什么?您以逆时针顺序定义顶点,而Direct3D默认情况下将以逆时针顺序定义消隐面,因此在背面消隐期间对三角形进行消隐,因此您没有得到
1.(0.0f, 0.0f, 0.5f)
2.(-0.5f, 0.0f, 0.5f)
3.(-0.5f, -0.5f, 0.5f)
但是,没有绘制三角形,事实上渲染目标上没有绘制任何东西,甚至没有绘制一条直线。我到处乱搞,然后我交换了坐标
2
和3
,结果成功了。三角形是按我的意图画的。这种奇怪行为的原因是什么?您以逆时针顺序定义顶点,而Direct3D默认情况下将以逆时针顺序定义消隐面,因此在背面消隐期间对三角形进行消隐,因此您没有得到任何渲染
当你在DirectX中画一个三角形时,你应该考虑两件事。< /P>
您以逆时针顺序定义顶点,而Direct3D默认情况下将以逆时针顺序定义消隐面,因此在背面消隐期间对三角形进行消隐,因此不会渲染任何内容 当你在DirectX中画一个三角形时,你应该考虑两件事。< /P>