编译前必须先装好 Python 3.6+ 和 CMake 3.16+;部分运行时平台不支持全部插件,需查 Platforms 文档;默认 GPL 2.0 许可,使用它的项目也须以 GPL 2.0 发布
KlayGE
gongminminGPL-2.0活跃维护跨平台开源游戏引擎,采用插件化架构,支持 D3D11/12、OpenGL、OpenGL ES 等图形后端,方便开发者搭建和扩展 3D 游戏。
KlayGE is a cross-platform open source game engine with plugin-based architecture.
pip 无需;先安装 Python 3.6+ 与 CMake 3.16+,然后运行:python Build.pyREADME 未说明
跨平台开源游戏引擎,插件化架构,用前沿技术武装你的引擎
跨平台开源游戏引擎,采用插件化架构,支持 D3D11/12、OpenGL、OpenGL ES 等图形后端,方便开发者搭建和扩展 3D 游戏。
核心能力
- 插件化架构,按需组合引擎功能模块
- 提供统一框架简化开发、测试与移植流程
- 支持 Windows、macOS、Linux 上开发
- 可部署到 Windows、Android、iOS、Linux、macOS 等运行时平台
- 自 2003 年起持续开发,当前版本 v4.17.0
容易踩的坑
- v4.17KlayGE 4.17最新正式版2020-07-01 · 2020-07-01 07:09 UTC
The highlighted features of KlayGE 4.17 are:
Improvements in engine
- New XInput input plugin.
- Add a new component to generate mipmap by GPUs in real time.
- Enable to export skinned mesh from scene.
- Performance optimizations
- D3D12 plugin is 10% faster than previous version.
- Use unique_ptr instead of shared_ptr to improve performance when possible。
- Add a lot of finals and noexcepts to allow compiler to generate better code.
Improvements in engineering
- All 3rd party libraries can be synced from their original git repository, and patching them before building.
- Introduce in C++20 format library.
- Enable to build by clangcl.
- Use modern CMake module to simplify dependencies between projects.
- Push a lot of patches to 3rd party libraries to their original repository.
- Reduce the usage of Boost libarary.
Others
- Bug fixes.
- v4.16KlayGE 4.162019-12-31 · 2019-12-31 21:34 UTC
查看更新说明
The highlighted features of KlayGE 4.16 are:
Improvements in engine
- Enable to render to multiple viewports in one pass. It’s a solid step for efficient high-quality VR/AR rendering.
- A more convenient way to dynamically switch material.
- Struct support in fxml for building more complicated effects.
- Integrate motion blur effect into deferred rendering framework.
- Support occlusion map in deferred rendering framework.
- New skin rendering algorithm, the performance is 5x of the original one.
- A new memory allocator increases the performane of D3D12 plugin for 5%. It can be further improved in the future.
- Add a com_ptr to improve the efficiency of referencing COM objects, and reduce the binary sizes.
- Use cppwinrt instead of WRL.
Improvements in engineering
- Most 3rd party libraries are synced from their original gir repository, and patching them before building.
- GCC9 support.
- Introduce in C++20 features.
- Introduce GSL in
- Better cross-compiling support.
Others
- Bug fixes.
- v4.15KlayGE 4.152019-07-01 · 2019-07-01 05:22 UTC
查看更新说明
The highlighted features of KlayGE 4.15 are:
Improvements in engine
- Switch to complete entity-component-system architecture.
- Separated shader stage objects.
- Multi-threaded shader compiling to improve the loading performance.
- Integrate DoF effect into deferred rendering framework.
- Improved PBR material system.
- Predefined cbuffer to reduce rendering overhead.
- Better high-DPI handling.
Improvements in engineering
- One unified CMake project for higher building performance.
- More 3rd party libraries are managed by git.
- Enable to use Ninja to speed up building.
- Introduce in more 3rd party libraries, such as zlib, openal-soft, etc.
- Use clang-format to re-enforce the coding standard.
- VS2019 support.
Others
- Bug fixes.
- Better compatibility to Intel GPUs.
- v4.14KlayGE 4.142018-12-28 · 2018-12-28 06:08 UTC
查看更新说明
The highlight features of KlayGE 4.14 are:
Improvements in engine
- Full functional scene tree.
- Enable to read multiple model formats and image formats.
- Metadata file for resources.
- New generalized software buffers and textures. They can store any formats without restriction from hardware.
- New model format with tree structure support.
- Improved SSVO with 40% performance gain.
- Abstracted shader resource view for better texture binding performance.
- Keep improving D3D12 plugin.
Improvements in engineering
- Automatic building system through AppVeyor and Travis-CI.
- Use git to manage some 3rd party libraries.
- Enable to turn on precompiled header for clang.
- All external libraries are moved to single CMake project for higher building performane.
Others
- Multiple bugs are fixed.
- Deferred rendering framework is 10% faster than the previous version.
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
KlayGE
KlayGE is a cross-platform open source game engine with plugin-based architecture. It's started since 2003. The explicit goal of KlayGE is: to arm your engine with cutting-edge technology. It provides a framework to make game development, testing, porting as simple as possible.
Getting started
Before compiling KlayGE, Python 3.6+ and CMake 3.16+ must be installed first. Then you can run Build.py to build the whole code base. For details, please see Installation.
Platforms
KlayGE can be developed on those platforms, with no limitation.
- Windows desktop
- macOS
- Linux
KlayGE can be deployed and run on those runtime platforms. Some of them doesn't supports all plugins. Details in Platforms
- Windows desktop
- Windows store
- Android
- Linux
- macOS
- iOS
Contribute
As an open source project, KlayGE benefits greatly from both the volunteer work of helpful developers and good bug reports made by users.
Bug Reports & Feature Requests
If you've noticed a bug or have an idea that you'd like to see come real, why not work on it? Bug reports and feature requests are typically submitted to the issue tracker.
Engineering Workflow
If you want contribute some code, please check Workflow of Contributing Code before submitting a patch or pull request.
Links
- Website: http://www.klayge.org
- Wiki: http://www.klayge.org/wiki
License
KlayGE's default license is the GNU General Public License 2.0 (See LICENSE). In other words, anyone can use it and access to its source code, as long as the project which uses KlayGE must be released under GPL 2.0 license.
KlayGE dependents on several external libraries. They are distributed under their own terms. See LICENSE-External.