作者:i_dovelemon
来源:CSDN
日期:2014 / 10 / 26
主题:Cube mapping, SkyBox
引言
在3D游戏中,特别是在室外游戏场景中,往往需要模拟出天空的效果。如下图所示:
在这张图片中,读者可以发现,场景中存在这天空,而且不管游戏角色如何在场景中进行移动,都无法靠近天空。通过添加这样的效果,使得游戏世界更加的丰富多彩,更加的接近现实的世界。本节,就想大家讲述,如何在DirectX中实现这样的天空效果。
Cube Mapping
Cube Mapping是Enviroment Mapping中的一种。我们知道,传统的纹理映射方式,是用一张2D的图片,映射到2D的表面上去。这样的映射方法在我的博客中关于纹理映射一章中讲述了如何一一的进行了映射。从中我们可以发现,这是一种平面上的一对一的映射方法。而Cube mapping是一种3D空间的映射方法。对于一个3D空间的物体,我们有时候会发现使用2D的纹理来对3D物体的每一个表面进行映射,在物体的整体感觉上会差很多。那么,有没有一种方法,能够将纹理进行整体的考量,然后映射到3D物体上去,这样物体的纹理效果看上去就十分的和谐,整体上十分的舒适。使用Cube mapping就能够做到这一点。
Cube mapping是将一张由6个面组成的纹理,