效果框架(4) 摘要: 由于著色器通常是效果文件中的一個關鍵部分,所以我們在該例程的效果文件中使用了著色器。
效果框架(3) 摘要: 霧化效果(以下簡稱霧)提高了場景的真實性,可以用它來模擬逼真的天氣狀況。另外,霧可以大大減少遠剪裁面
(far-clip)在視覺上帶給觀者的不自然的感覺。Direct3D霧化是固定功能管線的一部份,受渲染狀態限制。
效果框架(2) 摘要:
對于頂點和像素著色器,我們需要從程序代碼中初始化效果文件中的變量以代替使用常量表,就象我們在頂點和像素著色器中做的那樣,ID3DXEffect接口中有內建的設置變量的方法。我們這里不會列出所有的設置不同類型變量的方法,因為要完全列出實在是大多了—請查看DirectX
SDK文檔以獲得完整列表。這里是一個刪節的列表:
效果框架(1) 摘要:
一個渲染效果一般由以下部分組成:一個頂點和/或像素著色器,一個需要設置的設備狀態列表,一個或更多的渲染通道(rendering
passes)。此外,有一個能在不同級別的圖形硬件上渲染效果的可靠機制通常是值得的(也就是說,有不同的可用的效果版本執行同樣的效果或盡可能嘗試執行同樣的效果)。顯然,所有這些必要的任務組合在一起成為一個效果。因此,一個合理的做法(步聚)是,設法將這些任務封裝到一個單元中。
Direct3D效果構架提供了這樣一個機制:將渲染效果的任務封裝到一個效果文件。在效果文件中實現效果有兩方面優勢。其一,它允許我們不必重編譯應用程序就能改變一個效果的執行。這是一種更新效果的過程,不管是修正一個bug,一些簡單的加強,或者利用最新的3D硬件特性。第二,它將所有的效果組成部分封裝到一個文件。