天空盒
1. 天空的种类
目前描述“天空”的技术主要包括三种类型:
平板型天空(Sky Plane),仅用一个平板放到头顶。
天空穹(Sky Dome),放到头顶的是一个曲面。
天空盒(Sky Box),放到场景的是一个立方体。
天空盒经常是由六个面组成的立方体,并经常会随着视点的移动而移动。
天空盒将刻画极远处人无法达到的位置的景物。
2. 天空盒的实现
与D3D实现的普通立方体不同的一点是,大部分情况下我们视点都包容在天空盒内部,因此,天空盒的顶点顺序应当是正好与普通立方体的顶点顺序相反。
最简单的天空盒,只需要填写好六个面的24个顶点,最后为每个面贴上纹理即可。
3. 一些杂论
天空盒对于程序员并不是困难的事情,但是真正要在程序中使得天空“好看”,那么,还需要美工的共同参与。
天空穹相对而言表现力更好一些。魔兽世界就是采用了这种方法。
对于并不太注意远景的场景,用天空板也不失为一种办法。在这种情况下,纯色的雾将覆盖整个远景,使得远处充满神秘。
在高级一些的应用中,天空盒的纹理可能同时会用来生成Cube Map,并用之来做水面倒影、云影、反光等很眩的特效。
天空盒源代码:包含 DirectX 和 OpenGL 两种的实现(地址:http://download.csdn.net/source/943187)。