游戏编程学习(天空盒)

天空盒

1. 天空的种类

目前描述“天空”的技术主要包括三种类型:

平板型天空(Sky Plane,仅用一个平板放到头顶。

天空穹(Sky Dome,放到头顶的是一个曲面。

天空盒(Sky Box,放到场景的是一个立方体。

天空盒经常是由六个面组成的立方体,并经常会随着视点的移动而移动。

天空盒将刻画极远处人无法达到的位置的景物。

2. 天空盒的实现

D3D实现的普通立方体不同的一点是,大部分情况下我们视点都包容在天空盒内部,因此,天空盒的顶点顺序应当是正好与普通立方体的顶点顺序相反。

普通立方体天空盒


最简单的天空盒,只需要填写好六个面的24个顶点,最后为每个面贴上纹理即可。

3. 一些杂论

天空盒对于程序员并不是困难的事情,但是真正要在程序中使得天空“好看,那么,还需要美工的共同参与。

天空穹相对而言表现力更好一些。魔兽世界就是采用了这种方法。

对于并不太注意远景的场景,用天空板也不失为一种办法。在这种情况下,纯色的雾将覆盖整个远景,使得远处充满神秘。

在高级一些的应用中,天空盒的纹理可能同时会用来生成Cube Map,并用之来做水面倒影、云影、反光等很眩的特效。

天空盒源代码:包含 DirectX OpenGL 两种的实现(地址:http://download.csdn.net/source/943187)。

你可能感兴趣的:(游戏,编程,.net)