HGE教程翻譯(8)

Tutorial 08 – 天氣

 

 這篇教程示範特效和燈光模擬。

天空的漸變

我們用精靈渲染天空而不用紋理。

 

 

 

它的上下頂點上不同的顏色,平滑過渡。

 

 

 

天空的顏色由一天中的時間決定,在一些顏色常量的插補中計算。

 

 

 

大海和波浪

同樣的着色技術可以用於大海。但這次我們用hgeDistortionMesh類代替hgeSprite來模擬波浪。

 

 

 

要創建波浪,我們爲每個曲面網格的節點設置位移和顏色(我們跳過第一和最後一條線因爲我們不想讓它們移動):

 

 

 

現在我們爲先前跳過的第一和最後一條線設置顏色。

 

 

 

大海準備就緒,我們開始渲染:

 

 

在源代碼中從月亮到太陽有一條光線被模擬。爲了達到這點我們只需要在太陽月亮下增加一條1 bit的白色線。

天空的物體

星星,月亮和太陽是由帶顏色的點組成的精靈。

 

 

 

有趣的地方是光暈和海面上的倒影。它們都是精靈:

 

 

 

 

注意光暈精靈使用不同的渲染模式來達到適當的顏色。它們共享相同的紋理區域。

太陽和月亮的位置,比例和顏色在UpdateSimulation中計算,在RenderSimulation中渲染:

 

 

 

同樣的海面倒影:

 

 

注意海面倒影精靈不是適當的比例。

執行

 

這個例子跑在一個相當高的FPS下。這可能是因爲Direct3D渲染精靈的瓶頸在於紋理帶寬,這個例子只用一塊小紋理渲染少量的精靈。大部分屏幕區域都填充單一的顏色。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章