DX學(xué)習(xí)中總是在一些小問題上糾纏不清,所以特開一篇,記錄下自己的錯(cuò)誤。
1, 內(nèi)存訪問異常:
遇到該問題時(shí),可能錯(cuò)誤并非在報(bào)錯(cuò)的那個(gè)語句上,而是在前面的運(yùn)行語句中,數(shù)組越界訪問,或其他關(guān)于內(nèi)存的錯(cuò)誤。
我就是在用vector時(shí) 越界訪問了(雖然vector可以自動(dòng)開辟空間,但[]運(yùn)算符貌似不能訪問當(dāng)前所占有的內(nèi)存之后的內(nèi)存,
我是先resiz e的, 這 樣可以提高效率) 導(dǎo)致后面createtexturefromfile的函數(shù)無法創(chuàng)建紋理 。
2. 創(chuàng)建的實(shí)體渲染后不顯示
這個(gè)問題至今遇到了2次,都是因?yàn)樽兞康念愋驮?br> (1).索引的類型默認(rèn)是WORD類型,但是在創(chuàng)建Indexbuffer時(shí)可以將索引的類型設(shè)置為DWORD。
(2).自定義的頂點(diǎn)格式的xyz必定需要float型
3. 換了個(gè)dx的SDK(June 2008) 發(fā)現(xiàn)原來的shader代碼出了點(diǎn)問題,在用到全局變量的代碼處報(bào)
global variables are implicitly constant, enable compatibility mode to allow modification 錯(cuò)誤
也就是說全局變量是extern也是常量,在shader里面不能修改,但可以從宿主程序里改。
posted on 2008-12-22 13:06
AstaTus 閱讀(321)
評論(0) 編輯 收藏 引用 所屬分類:
DIRECTX9