簡體   English   中英

OpenGL / GLSL霧應用

[英]OpenGL/GLSL Fog Applications

我了解簡單的GLSL霧着色器如何工作,但是如何應用? 將其直接應用於地形網格物體不會產生所需的“霧化”結果。 如何使用着色器模仿OpenGL的內置霧效果? 我唯一能想到的就是將着色器應用於相機周圍的一系列包圍球體,但這似乎需要很多工作才能消除霧氣。

更新:一些圖像需要進一步說明。

這是我已應用於地形網格物體的着色器,結果不是我想要的:

http://puu.sh/31dft.jpg

我想復制這種效果:

http://mw2.google.com/mw-panoramio/photos/medium/4503932.jpg

半現實的氣氛渲染是一個復雜的問題,許多(正在進行的)研究都致力於此問題。 在您的參考照片中,基本上有三個主要因素可以影響特定的構圖:i。 霧/霾ii。 大氣散射iii。 高度。

簡單地說,僅在諸如地形之類的物體上施加霧氣是一個固有的缺陷概念,因為霧氣會遮擋/遮擋光的透射率。 這包括來自天空的光。 因此,為了覆蓋將霧應用於“天空”的場景,還需要另一種方法,包括后處理。 本質上,每個像素的位置都需要在3d空間中進行重構,而霧化算法需要在每個像素上運行。

根據特定的藝術風格,這可能足以滿足您的需求,但是更為復雜。 該文檔http://developer.amd.com/wordpress/media/2012/10/D3DTutorial_Crytek.pdf提供了一個有關大氣渲染(包括體積霧)的不錯的起點。

您必須將霧色和背景色設置為相同。 否則效果看起來很奇怪。 霧的目的是使遠處的物體“淡入背景”。 圖像的問題在於背景是明亮的藍色,好像您希望它是晴朗晴朗的一天。 但是您場景中的對象正逐漸消失為白色,好像有非常非常濃的霧。 我建議您找到一些折衷方案-兩者都使用淡藍色。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM