共用方式為


霧 (Direct3D 9)

將霧加入 3D 場景可以增強現實主義、提供舒適或設定情緒,以及有時在遙遠幾何進入檢視時造成的模糊成品。 Direct3D 支援兩種霧模型:圖元霧和頂點霧,每個模型都有自己的功能和程序設計介面。

基本上,霧的實作方式是將場景中物件的色彩與所選的霧色混合在一起,以場景中的物件深度或與視點的距離為基礎。 隨著對象越來越遠,其原始色彩與選擇的霧色混合得越來越遠,導致對象越來越被場景中漂浮的微小粒子所遮蔽的錯覺。 下圖顯示無霧轉譯的場景,以及啟用霧的類似場景。

與沒有霧 相同場景的圖例

在這個圖例中,左邊的場景有一個清晰的地平線,除了沒有風景是可見的,即使它會在現實世界中可見。 右邊的場景使用與背景色彩完全相同的霧色彩遮蔽了地平線,使多邊形似乎淡入距離。 藉由將離散霧效果與創意場景設計相結合,您可以新增情緒,並軟化場景中物件的色彩。

Direct3D 提供兩種方式來將霧新增至場景:圖元霧和頂點霧,以命名為如何套用霧效果。 如需詳細資訊,請參閱 像素霧(Direct3D 9)頂點霧 (Direct3D 9)。 簡言之,圖元霧-也稱為表霧 - 是在設備驅動器中實作,頂點霧是在 Direct3D 光源引擎中實作。 應用程式可以使用頂點著色器實作霧,並視需要同時實作像素霧。

注意

無論您使用圖元或頂點霧,您的應用程式都必須提供相容的投影矩陣,以確保正確套用霧效果。 此限制甚至適用於不使用 Direct3D 轉換和光源引擎的應用程式。 如需如何提供適當矩陣的其他詳細數據,請參閱 投影轉換 (Direct3D 9)

 

下列主題介紹霧,並介紹在 Direct3D 應用程式中使用各種霧功能的相關信息。

霧混合是由轉譯狀態控制;它不屬於可程式化圖元管線的一部分。

Direct3D 轉譯