HGE教程翻译(8)
2008-03-08 10:52
218 查看
Tutorial 08 – 天气
这篇教程示范特效和灯光模拟。
天空的渐变
我们用精灵渲染天空而不用纹理。
它的上下顶点上不同的颜色,平滑过渡。
天空的颜色由一天中的时间决定,在一些颜色常量的插补中计算。
大海和波浪
同样的着色技术可以用于大海。但这次我们用hgeDistortionMesh类代替hgeSprite来模拟波浪。
要创建波浪,我们为每个曲面网格的节点设置位移和颜色(我们跳过第一和最后一条线因为我们不想让它们移动):
现在我们为先前跳过的第一和最后一条线设置颜色。
大海准备就绪,我们开始渲染:
在源代码中从月亮到太阳有一条光线被模拟。为了达到这点我们只需要在太阳月亮下增加一条1 bit的白色线。
天空的物体
星星,月亮和太阳是由带颜色的点组成的精灵。
有趣的地方是光晕和海面上的倒影。它们都是精灵:
注意光晕精灵使用不同的渲染模式来达到适当的颜色。它们共享相同的纹理区域。
太阳和月亮的位置,比例和颜色在UpdateSimulation中计算,在RenderSimulation中渲染:
同样的海面倒影:
注意海面倒影精灵不是适当的比例。
执行
这个例子跑在一个相当高的FPS下。这可能是因为Direct3D渲染精灵的瓶颈在于纹理带宽,这个例子只用一块小纹理渲染少量的精灵。大部分屏幕区域都填充单一的颜色。
相关文章推荐
- HGE教程翻译(7)
- HGE教程翻译(4)
- HGE教程翻译(5)
- HGE教程翻译(1)
- HGE教程翻译(6)
- HGE教程翻译(2)
- HGE教程翻译(7)
- HGE教程翻译(3)
- HGE教程翻译(4)
- HGE教程翻译(1)
- HGE教程翻译(5)
- 【HGE相关教程/翻译汇总贴】 以及源代码下载
- HGE教程翻译(2)
- HGE扩展库Qaf教程粗略翻译
- HGE教程翻译(6)
- HGE教程翻译(3)
- Android 教程 翻译 1 Activities 活动
- 【翻译】Scott Mitchell 的ASP.NET 2.0数据教程
- jQuery中文入门指南,翻译加实例,jQuery的起点教程
- Ember 翻译——教程七:创建一个简单的组件