Difference between revisions of "KlayGE"

From KlayGE
Jump to: navigation, search
m (外部連結)
 
(25 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''粘土游戏引擎'''(KlayGE)是一个[[开放源代码]]的,[[跨平台]]的,基于插件结构的游戏引擎。该引擎从2003年开始研发,设计目的是用最先进的技术武装引擎,使游戏的开发、测试、移植得到简化。
+
'''粘土游戏引擎'''(KlayGE)是一个开放源代码的,[[平台|跨平台]]的,基于插件结构的游戏引擎。该引擎从2003年开始研发,设计目的是用最先进的技术武装引擎,使游戏的开发、[[Regression testing|测试]]、移植得到简化。
 
+
== 协议 ==
+
KlayGE按照[[GPL]] 2.0[[协议]]发布。这意味着所有人都可以用它,而且可以访问到它全部的源代码。
+
  
 
== 技术特性 ==
 
== 技术特性 ==
 
=== 图形 ===
 
=== 图形 ===
* 支持DirectX 11.0,OpenGL 2.0-4.1,以及OpenGL ES 2.0
+
* 基于[[延迟渲染]]
* 采用[[fxml]]作为可渲染物体的特效脚本,可以直接把美工生成的特效导出使用
+
* 支持DirectX 11-12,OpenGL 2.0-4.5,以及OpenGL ES 2.0-3.2
 +
* 采用[[FXML]]作为可渲染物体的特效脚本,可以直接把美工生成的特效导出使用
 
* Python脚本可以在运行期动态解释,所以修改脚本以后不需要重新编译
 
* Python脚本可以在运行期动态解释,所以修改脚本以后不需要重新编译
 
* 可以通过高度图来建立地形场景
 
* 可以通过高度图来建立地形场景
Line 16: Line 14:
 
* 自适应硬件状态缓存和延迟更新机制
 
* 自适应硬件状态缓存和延迟更新机制
 
* 支持逐像素光照和渲染技术
 
* 支持逐像素光照和渲染技术
* 基于距离场的字体系统,兼有矢量字体和点阵字体的优点
+
* 基于距离场的[[字体系统]],兼有矢量字体和点阵字体的优点
* 支持过程纹理
+
* 支持[[过程纹理]]
* 支持次表面散射,可用于渲染树叶、皮肤、玉器等半透明材质
+
* 支持[[次表面散射]],可用于渲染树叶、皮肤、玉器等半透明材质
* 支持PN Triangles技术,在运行期自动光滑低模
+
* 支持[[Phong tessellation]]技术,在运行期自动光滑低模
* 着色
+
* 用于[[延迟渲染]]的[[材质系统]]
 +
* 着色
 
:* 包含常用操作的shader库
 
:* 包含常用操作的shader库
 
:* 完全抽象出图形API
 
:* 完全抽象出图形API
Line 29: Line 28:
 
:* 动态光照
 
:* 动态光照
 
:* 全方向阴影贴图
 
:* 全方向阴影贴图
 +
:* 实时间接光照
 +
:* 环境光照
 +
:* 面光源
  
 
=== 音频 ===
 
=== 音频 ===
Line 43: Line 45:
 
* HDR压缩器,支持cubemap和2D HDR纹理的压缩
 
* HDR压缩器,支持cubemap和2D HDR纹理的压缩
 
* Normalmap压缩器,2:1或4:1的压缩率
 
* Normalmap压缩器,2:1或4:1的压缩率
* 基于distance的字体生成器,可以把矢量字体转换成引擎使用的字体格式
+
* 基于distance的[[字体系统|字体]]生成器,可以把矢量字体转换成引擎使用的字体格式
* FXML2Shader工具,把FXML的特效脚本转换成HLSL或Cg
+
* FXML2Shader工具,把[[FXML]]的特效脚本转换成HLSL
 +
* [[Juda texture]]打包工具,把多张普通纹理打包成一个Juda texture
 +
* Color Grading纹理生成工具
  
 
=== 程序特性 ===
 
=== 程序特性 ===
* KlayGE是开放源代码的,包含了100%的引擎、工具的源代码
+
* [[KlayGE]]是开放源代码的,包含了100%的引擎、工具的源代码
 
* 可扩展的、面向对象的C++引擎,带有用于静态和动态加载代码和资源的软件架构,易于移植和调试
 
* 可扩展的、面向对象的C++引擎,带有用于静态和动态加载代码和资源的软件架构,易于移植和调试
 
* 用Python作为脚本语言,提供了对动态数据的自动支持,开发调试方便,并很容易和C++主程序配合工作
 
* 用Python作为脚本语言,提供了对动态数据的自动支持,开发调试方便,并很容易和C++主程序配合工作
 +
* 在各平台上都是原生代码
  
 
== 外部链接 ==
 
== 外部链接 ==
Line 55: Line 60:
 
*[http://www.klayge.org/gallery/ KlayGE图集]
 
*[http://www.klayge.org/gallery/ KlayGE图集]
  
[[en:KlayGE]]
+
[[en:KlayGE/en]]
 +
[[ru:KlayGE/ru]]

Latest revision as of 01:03, 25 December 2016

粘土游戏引擎(KlayGE)是一个开放源代码的,跨平台的,基于插件结构的游戏引擎。该引擎从2003年开始研发,设计目的是用最先进的技术武装引擎,使游戏的开发、测试、移植得到简化。

技术特性

图形

  • 基于延迟渲染
  • 支持DirectX 11-12,OpenGL 2.0-4.5,以及OpenGL ES 2.0-3.2
  • 采用FXML作为可渲染物体的特效脚本,可以直接把美工生成的特效导出使用
  • Python脚本可以在运行期动态解释,所以修改脚本以后不需要重新编译
  • 可以通过高度图来建立地形场景
  • 支持骨骼动画
  • 硬件遮挡裁减
  • 粒子系统
  • 后处理技术
  • 自适应硬件状态缓存和延迟更新机制
  • 支持逐像素光照和渲染技术
  • 基于距离场的字体系统,兼有矢量字体和点阵字体的优点
  • 支持过程纹理
  • 支持次表面散射,可用于渲染树叶、皮肤、玉器等半透明材质
  • 支持Phong tessellation技术,在运行期自动光滑低模
  • 用于延迟渲染材质系统
  • 着色
  • 包含常用操作的shader库
  • 完全抽象出图形API
  • 多遍渲染
  • 完全支持可编程着色
  • 可以使用多条渲染流
  • 光照
  • 动态光照
  • 全方向阴影贴图
  • 实时间接光照
  • 环境光照
  • 面光源

音频

  • 支持各种平台的音频输出
  • 支持3D声音定位和多普勒效应
  • 输入格式支持Ogg Vorbis
  • 支持流式播放

工具

  • 法线图生成器,可以从高度图生成法线图
  • 距离图生成器,可以从高度图或3D纹理生成距离图
  • MeshML导出插件,从3ds Max导出模型
  • OpenGL兼容性检测工具
  • HDR压缩器,支持cubemap和2D HDR纹理的压缩
  • Normalmap压缩器,2:1或4:1的压缩率
  • 基于distance的字体生成器,可以把矢量字体转换成引擎使用的字体格式
  • FXML2Shader工具,把FXML的特效脚本转换成HLSL
  • Juda texture打包工具,把多张普通纹理打包成一个Juda texture
  • Color Grading纹理生成工具

程序特性

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

外部链接