[sig15]HorizonZeroDawn的雲渲染技術

來源:互聯網
上載者:User

標籤:

siggraph15上,advances in real-time rendering in games courses的一篇(http://advances.realtimerendering.com/s2015/index.html).

由killzone的開發商guerrila帶來,guerrila一直作為ps平台上的,甚至業界圖形技術的開拓者,這次出品的horizon dawn zero,概念和效果非常吸引人:


這個presentation裡面,他們講的是雲的渲染。

在做雲的時候,guerrila開始使用真實的照片作為參照來努力(這也是這一代console上面的標準做法了):


那麼在入手研究實現的時候,就會偏向於physicallly based,研究其中的真實物理特點是必經的一步。

modeling

目前的通常做法是使用FBM(fractal brownian motion),也就是多層的,每層不同頻率,perlin noise,然後結合ray marching來產生雲,這種雲也不錯:


但是如果想做這樣的,就需要額外一些工作:


可以看到圖中的雲在形狀上更加的真實和明顯,表面充滿了細節,最後guerrila使用的辦法是voxel+ray marching和前面提到的FBM並沒有本質的不同,但是在modeling的細節上確有一手,使用了2個3d texture,1個2d texture,

第一個3d texture裡面放的是perlin noise和worley noise的結合體

perlin noise大家都熟悉了,worley noise是steven worley在1996年提出的,一般用於做caustics(焦散)效果的,worley noise以及和perlin noise結合之後是這樣的:


解析度是128x128,4個channel存放的perlin-worley不同頻率的noise。

它用於定義雲的大體形狀。

第二個3d texture,32x32,3 channel,放不同頻率的worley noise。

用於定義雲的表面細節。


一個2d texture,128x128,放不同頻率的curl noise(可以用於procedural fluid flow的一種noise),用於扭曲雲的形狀,以及加上一些turbulence的感覺。



局部的雲定義好了之後,天氣系統還有回一個大的coverage map來定義那裡有雲那裡沒有:



Lighting

光照部分,對雲的建模,需要考慮到這些因素:


  • 作為透明介質--使用beer law
  • 雲的散射不是均勻地,有更大的幾率來向前散射,所以要加一個heney-greenstein function來矯正

  • 雲的內層比表面更容易受到散射影響,作者稱這個為powder effect
都結合到一起:


著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

[sig15]HorizonZeroDawn的雲渲染技術

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.