shader入門 如何調(diào)試Shader?
如何調(diào)試Shader?簡單地說,d3d9模擬GPU的行為,這樣所有的GPU指令都可以在CPU模擬下運行,然后可以在斷點處進行調(diào)試。但是,不得不說,調(diào)試著色器非常慢,尤其是PS,因為CPU對PS行為的模
如何調(diào)試Shader?
簡單地說,d3d9模擬GPU的行為,這樣所有的GPU指令都可以在CPU模擬下運行,然后可以在斷點處進行調(diào)試。但是,不得不說,調(diào)試著色器非常慢,尤其是PS,因為CPU對PS行為的模擬非常耗時,而vs則相對較快。如果說vs1.1的調(diào)試基本相當于本地代碼,因為vs1.1的行為很快就可以被CPU模擬出來,所以D39的內(nèi)置軟件模擬vs1.1,這個模擬的速度是可以接受的,所以現(xiàn)在我寫了很多vs代碼。如果使用vs1.1特性,則視為硬件的默認支持。即使不支持,軟件模擬也是可以接受的。
怎么打開自帶的shader文件?
學習方法(1)從簡單到復(fù)雜:編寫自己的著色器,從最簡單的開始,通過簡單測試,再添加一點。(2) 多重調(diào)試:例如有一個float變量x,如果x的范圍為[0,1],則在frag fragment函數(shù)中可以輸出float4(x,0,0,1)的顏色,x的值可以用紅色的深度來觀察;如果x的范圍為[01000],則在frag fragment函數(shù)中可以輸出float4(x/1000,0,0,1)的顏色。這種方法很簡單,可以根據(jù)需要加以調(diào)整。(3) 組合視圖UnityCG公司以及統(tǒng)一的內(nèi)置著色器。內(nèi)置著色器的下載地址(4)閱讀書籍:建議在閱讀本教程時多閱讀一些書籍。推薦英文CG教程,即中文CG教程|可編程實時圖形權(quán)威指南相關(guān)教材鏈接學習提示(1)查看UnityCG公司當在文件中使用頂點和碎片的重心時,它將被包含“UnityCG公司,它使用許多函數(shù),如transformutex、UNITYu傳輸深度和其他功能。那么你如何看待這些定義呢?Windows路徑:unityeditordatacgcincludesmac路徑:右鍵單擊unity圖標->showcontents->data->cgcincludes此文件夾下是關(guān)于著色器的unity庫,例如UnityCG公司, 單位CG.glslinc, 照明公司等等。打開UnityCG公司(WordPad monodev等),則可以查看相關(guān)函數(shù)的定義。(2) 電子書學習技巧中文電子書,學習速度快,易懂,但大部分都是復(fù)印件。英文電子書,可以很好的用關(guān)鍵字搜索知識。(3) 使用pramaonlyurenderersd3d9,這限制了編譯平臺。(3) (4)最好一起使用。(4) 打開已編譯的著色器并查看相應(yīng)的匯編代碼或OpenGL es代碼。方法:左鍵單擊獨立的著色器文件,然后單擊檢查器面板中的opencompiled著色器。
關(guān)于unity3d的,NGUI怎么做粒子特效?
使用partical unity系統(tǒng),即粒子效果。爐石就是這樣實現(xiàn)的。Ngui主要用于UI界面,但不能實現(xiàn)特殊效果。Hearthstone的特效是3D的,其中許多特效是由著色器實現(xiàn)的。你可以搜索單位分詞系統(tǒng)和著色器教程