CrystalSpace 简介
CrystalSpace 是一个开源,跨平台的实时 3D 图形开发工具包( SDK ),并且它主要着眼于游戏开发。它用面向对象C++开发,具有很好的模块性,使用SCF支持的插件系统是它的亮点,并且有几款开源游戏(包括单机游戏和网络游戏)是用 CystalSpace 开发的,所以 CrystalSpace 不失为一个系统学习游戏开发起点。
它不仅仅只是一个渲染引擎(像 Ogre ),还包含了丰富的插件和扩展库,比如输入输出系统,声音系统,物理系统等。同时 CrystalSpace 提供了一个叫做 CEL ( Crystal Entity layer )的模块,该模块提供了一个基于 CrystalSpace 内核的进行游戏开发的框架。
CrystalSpace 的特性:
1. 包含众多几何库,如向量,矩阵,变换,四元数, k 维搜索树,轴平行包围盒,矩形分割等。
2. 包含众多常用库,如 模板数组,智能指针,哈希表,对象注册机制,插件管理,基数排序,位数组,经过优化的内存分配器,字符串,命令行处理,配置文件 等
3. 高级实用库,如 过程纹理(电光,火,水),全屏效果,碰撞检测,纹理生成工具。
4. 图形实用库,如用于计算多细节贴图,颜色量化,颜色梯度的工具。
5. 享类机制 SCF ( Shared Class Facility ) SCf 对接口和实现进行了解耦,并可用于插件的动态加载。
6. 虚拟文件系统( VFS ), VFS 对各个平台的文件系统抽象成独立于平台的文件系统。
7. 灵活和可扩展的事件系统。
8. LOD
9. 多种模型,粒子模型,地形模型,面片模型,烟雾模型。
10. 变形动画
11. 骨骼动画(支持硬件蒙皮)
12. 2D 动画
13. 雷神之锤 MD3 和 MDL 模型格式于 Crystal Space 的转化。
14. 内置支持 CEGUI
15. 通过 OpenGL 支持跨平台的渲染,支持像游戏服务器端那样的“空”渲染。
16. 支持各种格式的图像( BMP , DDS , GIF , JPG , MNG , PNG , TGA )
17. 支持通道与区域场景,从而可灵活加载 3D 世界。
18. 基于多维树的可见裁剪。
19. 各种光照:静态光,伪动态,动态,暗晕,阴影,模板阴影。
20. 多相机
21. 多功能材质。着色器( cg , ARB , fixed fuction ) 和 纹理 可灵活构成材质。
22. 跨平台声音渲染,支持 wav , ogg 格式
23. 地形引擎支持纹理叠加, LOD
24. 粒子系统可用于 火,爆炸,雨, 雪,喷泉,等等
25. 使用 opcode 的检测碰撞检测,并支持 ODE 和 BULLET 等完全物理引擎的外部库。
26. 可用于运动控制,动画等的强大的顺序管理器。
27. 内置支持 TrueType 字体。
28. Unicode 文字输出。
29. xml 地图文件。
30. 脚本绑定( Python , Perl , Java )。
31. 电影录制插件。
32. 下拉控制器提供游戏的全面控制。
33. 调试系统。
相关链接:Crystal Space 用户手册(中文)(翻译中)