您的位置:首页 > 其它

HGE教程翻译(8)

2008-03-08 10:52 218 查看

Tutorial 08 – 天气

 

 这篇教程示范特效和灯光模拟。

天空的渐变

我们用精灵渲染天空而不用纹理。

 



 



 

它的上下顶点上不同的颜色,平滑过渡。

 





 











 

天空的颜色由一天中的时间决定,在一些颜色常量的插补中计算。

 



 







 






大海和波浪

同样的着色技术可以用于大海。但这次我们用hgeDistortionMesh类代替hgeSprite来模拟波浪。

 



 





 

要创建波浪,我们为每个曲面网格的节点设置位移和颜色(我们跳过第一和最后一条线因为我们不想让它们移动):

 

















 

















 

现在我们为先前跳过的第一和最后一条线设置颜色。

 





 











 

大海准备就绪,我们开始渲染:

 



 

在源代码中从月亮到太阳有一条光线被模拟。为了达到这点我们只需要在太阳月亮下增加一条1 bit的白色线。

天空的物体

星星,月亮和太阳是由带颜色的点组成的精灵。

 







 













 

有趣的地方是光晕和海面上的倒影。它们都是精灵:

 





 







 







 

注意光晕精灵使用不同的渲染模式来达到适当的颜色。它们共享相同的纹理区域。

太阳和月亮的位置,比例和颜色在UpdateSimulation中计算,在RenderSimulation中渲染:

 









 









 

同样的海面倒影:

 







 

注意海面倒影精灵不是适当的比例。

执行

 

这个例子跑在一个相当高的FPS下。这可能是因为Direct3D渲染精灵的瓶颈在于纹理带宽,这个例子只用一块小纹理渲染少量的精灵。大部分屏幕区域都填充单一的颜色。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息