簡體   English   中英

實時動態陰影補充延遲着色?

[英]Real time dynamic shadows to complement deferred shading?

我目前有一個延遲渲染系統設置,可以渲染點光源和方向燈。 我的問題是我可以選擇不同形式的陰影,它可以根據點光源和定向光源制作陰影,可以使用延遲着色設置?

延遲渲染並沒有什么特別之處需要獨特的陰影技術。 使用延遲渲染方案,大多數生成陰影的標准方法都可以正常工作。

陰影映射是目前在游戲等實時應用中使用的最常見的陰影算法。 模板陰影在幾年前很受歡迎,但由於各種限制,已經失寵了。 陰影貼圖與延遲着色一起正常工作。 陰影映射的基本算法相當簡單:

  1. 從燈光的角度渲染渲染目標紋理的深度(您需要為點光源渲染立方體貼圖的6個面)。
  2. 當您為燈光執行光照通道時,對於每個像素,將世界空間位置轉換為燈光的視圖空間,並將深度與陰影貼圖中存儲的深度進行比較。 如果它大於陰影貼圖深度,則該點處於陰影中,否則通常點亮。

像往常一樣渲染,魔鬼在細節中。 為了獲得高質量的陰影,您需要仔細設置陰影貼圖投影,以充分利用陰影貼圖中可用的像素(搜索透視陰影貼圖,級聯陰影貼圖)。 由於精度問題,您將獲得具有自陰影表面的各種偽影(“陰影痤瘡”是最常見的一種),並且存在各種策略來減少這些偽影的發生率(深度偏差,投影矩陣調整)。 為了減少分辨率不足的陰影貼圖的塊狀,像素化外觀,您可能需要執行一些陰影貼圖過濾。 百分比更接近過濾是標准方法,有各種方法可以執行PCF。

您還要面對標准的質量/性能權衡,陰影和動態陰影往往是場景渲染中最昂貴的方面之一。 有許多技巧和技術可以嘗試最大化陰影映射的性能。

最近,在基本陰影映射算法上存在許多變化,其試圖通過不同地接近過濾問題來給出給定陰影圖分辨率的更好看的結果。 方差陰影貼圖和指數陰影貼圖是最近的兩種技術,它們有一些很好的好處,但它們有一些獨特的問題。

Nvidia的開發者網站是圖形編程的一個很好的資源,並且有很多關於陰影的文章。 看看網站上提供的GPU Gems書籍的HTML版本,他們有各種關於陰影的文章,包括關於GPU Gems 3中的Variance Shadow Maps的權威文章。

暫無
暫無

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

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