下载
https://github.com/axmolengine/axmol/releases/tag/v2.0.0
更新日志
- 添加实验性的 WebAssembly 构建支持(WebGL 2.0),由 @nowasm 贡献
- 已知问题
- WebGL context lost 尚未处理
- 部署在 github pages 的 demo 可快速预览,注意:由于 Github 限制,未开启 WASM 多线程支持,因此多线程模块测试会报错,请忽略。
- 注意,以下涉及多线程的模块需要服务器软件启用多线程,即添加指定 http 响应头,参考:https://web.dev/coop-coep/,客户端编译已开启多线程支持。
- AudioEngine
- ASTC多线程软解
- TextureCache::addImageAsync
- MeshRenderer::createAsync
- 扩展模块 live2d 不支持 WASM 构建,因为其 SDK Core 部分未开源,且未提供 WASM 的预编译库
- 使用以下命令可快速在本机编译WASM并在浏览器预览cpp_tests
axmol run -p wasm -xb "--target,cpp_tests" - 添加了两个CMake选项来控制线程数量和启动html页面模板: AX_WASM_THREADS, AX_WASM_SHELL_FILE, 参考 CMakeOptions.md
- 已知问题
- OpenGL3/GLES3 支持, 增加cmake选项 AX_GLES_PROFILE 控制 GLES 版本。
- 增加了 3D 模型实例化渲染支持
- 使用 glslcc 作为新的 shader 编译工作流, 使用 ESSL310 语法编写 shader, axmol 编译系统自动编译到目标平台:
- MSL for Apple(macOS/iOS/tvOS)
- ESSL300: Android, ANGLE
- GLSL330: Desktop GL
- GLSL100:Android-4.2
- 增强 ProgramManager 加载机制,更加易用
- 增强文本渲染,基于 SDF(有向距离场)渲染的描边特效支持
- 增强 FileStream 接口, 可处理 4GB+ 大文件
- 增强 ASTC 硬件解码检测的精准性
- 使用 ANGLE GLES3.0 作为 Win32 平台的默认渲染后端
- 第三方库更新:
- ANGLE: 113.0.5672.128 ==> 115.0.5790.173
- curl: 8.1.2 ==> 8.2.1
- fmtlib: 10.0.0 ==> 10.1.0
- FreeType: 2.13.0 ==> 2.13.2
- llhttp: 8.1.1 ==> 9.0.1
- OpenSSL: 3.0.9 ==> 3.0.10
- webp: 1.3.0 ==> 1.3.1
- xxHash: 0.8.1 ==> 0.8.2
- zlib: 1.2.13 ==> 1.3
- API 修改:
- 修改:ProgramManager::registerCustomProgram
- 添加: ProgramManager::loadProgram
- 删除: ProgramManager::getCustomProgram
- 删除: CommandBuffer::setLineWidth