KlayGE游戏引擎

2021年1月21日 3435点热度 1人点赞 0条评论

KlayGE是一个开放源代码、跨平台的游戏引擎。它是用C++开发的,并使用Python作脚本语言。KlayGE在GPL协议下发行。

KlayGE是用于下一代游戏的一个完整的游戏开发框架。它是API无关的插件是结构,提供了很多先进技术,并确有无限的扩展性。

KlayGE的设计目的非常明确,用最先进的技术武装引擎。它所提供框架使游戏的开发、测试、移植得到简化。KlayGE的目标平台是今年发布的最高硬件到上一年发布的最低硬件。

视觉特效

  • 完全支持可编程流水线。
  • 多条渲染流。各种不同的数据可以放在不同的流中渲染,需要跟新数据时只需替换某个流即可。
  • 支持现代的逐像素光照和渲染技术,如法线图、位移图、阴影图等。
  • 采用fx作为可渲染物体的特效脚本,可以直接把美工生成的特效导出使用。
  • Python脚本可以在运行器动态解释,所以修改脚本以后不需要重新编译。
  • 可以通过高度图技术来建立地形场景,并使用多层混合材质。

音频

  • 支持各种平台的音频输出。
  • 支持3D声音定位和多普勒效应。
  • 输入格式灵活,支持PCM和Ogg VorBIs等主流格式。
  • 支持流式播放。

工具

  • 文件打包工具,可以把游戏资源打包成一个文件,并仍可以在游戏中自由读取。
  • 法线图生成器,可以从高度图生成法线图。
  • 距离图生成器,可以从高度图生成距离图。
  • 归一化cubemap生成器,直接生成指定大小的归一化cubemap
  • MEShML导出器,从3DS Max导出模型。
  • MeshML2KMesh,把MeshML转换成引擎使用的KMesh格式。

程序特性

  • 引擎是开放源代码的,包含了100%的引擎、工具的源代码。
  • 可扩展的、面向对象的C++引擎,带有用于静态和动态加载代码和资源的软件架构,可移植性,易于调试。
  • 用Python作为脚本语言,提供了对动态数据的自动支持,开发调试方便,并很容易和C++主程序配合工作。

新版本特性

  • Font支持渲染到3D位置
  • 统一了渲染引擎的状态设置
  • OpenGL插件要求硬件支持OpenGL 2.0和FBO
  • 增加了FrAMeBuffer和RenderView的结构
  • 使用以TEChnique为单位的渲染
  • 支持渲染到3D Texture的一个片
  • 增加了多种纹理格式
  • 统一了元素格式的使用
  • DISTanceMap生成器支持直接对Volume的计算
  • 增加了POStProcess

StackSnow

追风赶月莫停留,平芜尽处是春山。

文章评论