Direct3D 9 常見(jiàn)故障排除
Source:SDK\Troubleshooting (Direct3D 9)
I.設(shè)備故障創(chuàng)建設(shè)備失敗時(shí),檢查下列常見(jiàn)錯(cuò)誤
確認(rèn)設(shè)備特性,特別是深度緩存
檢查錯(cuò)誤碼,D3DERR_OUTOFVIDEOMEMORY 比較常見(jiàn)
使用運(yùn)行時(shí)debug庫(kù)并查看調(diào)試器的輸出信息
II.使用點(diǎn)亮頂點(diǎn)的方式將渲染狀態(tài)D3DRS_LIGHTING 設(shè)為FALSE即可讓程序點(diǎn)亮頂點(diǎn)了。默認(rèn)情況下,當(dāng)光照打開了后,系統(tǒng)會(huì)將所有不包含法向量的頂點(diǎn)顏色設(shè)為黑色,即是輸入的頂點(diǎn)包含非零的顏色值也不例外,而且這些頂點(diǎn)的任何顏色數(shù)據(jù)傳遞到Direct3D的時(shí)候也不會(huì)丟失。
如果程序黑屏了,檢查如下常見(jiàn)錯(cuò)誤.
- 確認(rèn)你的三角形沒(méi)有退化
- 確認(rèn)你的三角形沒(méi)有被裁剪消除
- 確認(rèn)你的變換總是固定不變的
- 檢查你的視口設(shè)置,確認(rèn)三角形是可見(jiàn)的