欢迎大家灌水,欢迎喷子,筒子。。。
一、地形引擎介绍
GAIA引擎是Greg Snook在书籍 Real-Time 3D Terrain Engines Using DirectX 9 中随书附带的一个地形引擎。该书后来又被承天一翻译成了中文版,名叫《实时地形引擎》。
具体的代码大家可以自行在网上搜索下载。
二、为什么选择GAIA引擎来阅读
大部分被翻译的书都有其自身的价值。该书的价值体现在如下几个方面:
1. 深入讲解了地形原理,高度图的生成、添加噪声、顶点和索引缓存在不同的地形系统下的创建、LOD系统、纹理映射、天空盒等大量地形引擎中的细节对于初学者大为有益。可以自己在理解了代码的基础上实现一个小型的游戏引擎。
2. 引擎本身的架构设计灵活,资源管理、渲染状态管理、场景管理这些引擎设计的哲学思想,对于将来学习更大的引擎有启发意义。
3. 相比当下流行的开源引擎,譬如OGRE,irrlicht等。相比这两个引擎,这个GAIA可以用微型来比喻了,而且还只是地形部分。但是我还是想说:麻雀虽小,五脏俱全。
三、引擎概览
在详述引擎的细节之前,先预览下引擎的类图(不完全,楼主现在还没看完,这部分只是已看的模块)。由于时间关系,架构图后面再给出。