为什么我的Direct3D程序总是出现怪问题

时间:2022-06-27 23:41:16
我用Visual Studio 2005编译Direct3D应用程序,但是结果总是怪怪的,不知道为什么:
1.曾经有一次,我在Direct3D中加载一个纹理,并显示成一个TRIANGLESTRIP,显示的结果应该是正方形。在显示之前我也清过屏幕了,但不知道为什么屏幕上面显示图片部分的周围却出现了大量的文字(问题是我根本没用用过Direct3D输出过文字)。后来怎么清除屏幕,文字都消除不掉。第二天,我再次运行程序,发现文字消失了,但是屏幕上纹理的周围出现很多块状的图案。这两个结果可是用一个程序运行的,连代码都没有改一行。
2.有一次我加载了一个纹理,显示一个TRIANGLESTRIP,我想通过IDirect3DDevice9::SetTransform()修改世界矩阵来旋转图形,我只显示了一次,但屏幕上面同时出现了旋转之前的纹理与旋转之后的纹理。我怎么查也查不出原因来?因为我的代码中根本只绘制一次纹理呀。。。
3.还有一次,我将代码改掉之后,再编译,发现程序执行的结果与改之前一样的。代码怎么改,执行的结果也与第一次编译的时候一个样,真不知道为什么?(代码修改之后程序理应显示的结果不一样的)。
我还从来都没有碰见过这样的怪问题,编译器就像出鬼了一样。

2 个解决方案

#1


先别怪编译器,用pixwin调试一下你到底做了哪些渲染操作,然后单步跟踪一下就知道了

#2


好的,我试试,谢谢了

#1


先别怪编译器,用pixwin调试一下你到底做了哪些渲染操作,然后单步跟踪一下就知道了

#2


好的,我试试,谢谢了