Difference between revisions of "KlayGE"
From KlayGE
Gongminmin (Talk | contribs) m (→外部連結) |
Gongminmin (Talk | contribs) |
||
(25 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | '''粘土游戏引擎''' | + | '''粘土游戏引擎'''(KlayGE)是一个开放源代码的,[[平台|跨平台]]的,基于插件结构的游戏引擎。该引擎从2003年开始研发,设计目的是用最先进的技术武装引擎,使游戏的开发、[[Regression testing|测试]]、移植得到简化。 |
− | + | ||
− | + | ||
− | + | ||
== 技术特性 == | == 技术特性 == | ||
=== 图形 === | === 图形 === | ||
− | * 支持DirectX 11 | + | * 基于[[延迟渲染]] |
− | * 采用[[ | + | * 支持DirectX 11-12,OpenGL 2.0-4.5,以及OpenGL ES 2.0-3.2 |
+ | * 采用[[FXML]]作为可渲染物体的特效脚本,可以直接把美工生成的特效导出使用 | ||
* Python脚本可以在运行期动态解释,所以修改脚本以后不需要重新编译 | * Python脚本可以在运行期动态解释,所以修改脚本以后不需要重新编译 | ||
* 可以通过高度图来建立地形场景 | * 可以通过高度图来建立地形场景 | ||
Line 16: | Line 14: | ||
* 自适应硬件状态缓存和延迟更新机制 | * 自适应硬件状态缓存和延迟更新机制 | ||
* 支持逐像素光照和渲染技术 | * 支持逐像素光照和渲染技术 | ||
− | * | + | * 基于距离场的[[字体系统]],兼有矢量字体和点阵字体的优点 |
− | * | + | * 支持[[过程纹理]] |
− | * | + | * 支持[[次表面散射]],可用于渲染树叶、皮肤、玉器等半透明材质 |
− | * | + | * 支持[[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的[[字体系统|字体]]生成器,可以把矢量字体转换成引擎使用的字体格式 |
− | * | + | * FXML2Shader工具,把[[FXML]]的特效脚本转换成HLSL |
+ | * [[Juda texture]]打包工具,把多张普通纹理打包成一个Juda texture | ||
+ | * Color Grading纹理生成工具 | ||
=== 程序特性 === | === 程序特性 === | ||
− | * | + | * [[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++主程序配合工作
- 在各平台上都是原生代码