效果框架(4) 摘要: 由于著色器通常是效果文件中的一個(gè)關(guān)鍵部分,所以我們?cè)谠摾痰男Ч募惺褂昧酥鳌?nbsp;
效果框架(3) 摘要: 霧化效果(以下簡(jiǎn)稱霧)提高了場(chǎng)景的真實(shí)性,可以用它來(lái)模擬逼真的天氣狀況。另外,霧可以大大減少遠(yuǎn)剪裁面
(far-clip)在視覺(jué)上帶給觀者的不自然的感覺(jué)。Direct3D霧化是固定功能管線的一部份,受渲染狀態(tài)限制。
效果框架(2) 摘要:
對(duì)于頂點(diǎn)和像素著色器,我們需要從程序代碼中初始化效果文件中的變量以代替使用常量表,就象我們?cè)陧旤c(diǎn)和像素著色器中做的那樣,ID3DXEffect接口中有內(nèi)建的設(shè)置變量的方法。我們這里不會(huì)列出所有的設(shè)置不同類(lèi)型變量的方法,因?yàn)橐耆谐鰧?shí)在是大多了—請(qǐng)查看DirectX
SDK文檔以獲得完整列表。這里是一個(gè)刪節(jié)的列表:
效果框架(1) 摘要:
一個(gè)渲染效果一般由以下部分組成:一個(gè)頂點(diǎn)和/或像素著色器,一個(gè)需要設(shè)置的設(shè)備狀態(tài)列表,一個(gè)或更多的渲染通道(rendering
passes)。此外,有一個(gè)能在不同級(jí)別的圖形硬件上渲染效果的可靠機(jī)制通常是值得的(也就是說(shuō),有不同的可用的效果版本執(zhí)行同樣的效果或盡可能?chē)L試執(zhí)行同樣的效果)。顯然,所有這些必要的任務(wù)組合在一起成為一個(gè)效果。因此,一個(gè)合理的做法(步聚)是,設(shè)法將這些任務(wù)封裝到一個(gè)單元中。
Direct3D效果構(gòu)架提供了這樣一個(gè)機(jī)制:將渲染效果的任務(wù)封裝到一個(gè)效果文件。在效果文件中實(shí)現(xiàn)效果有兩方面優(yōu)勢(shì)。其一,它允許我們不必重編譯應(yīng)用程序就能改變一個(gè)效果的執(zhí)行。這是一種更新效果的過(guò)程,不管是修正一個(gè)bug,一些簡(jiǎn)單的加強(qiáng),或者利用最新的3D硬件特性。第二,它將所有的效果組成部分封裝到一個(gè)文件。