Skip to content
This repository was archived by the owner on Jan 11, 2024. It is now read-only.

v2.0.0

Latest
Compare
Choose a tag to compare
@halx99 halx99 released this 07 Dec 12:37
· 222 commits to dev since this release
  • Add experimental WebAssembly build support(WebGL 2.0) by @nowasm
    • List of known issues maybe help wanted
      • WebGL context lost not handled yet
    • A demo avaiable on axmol gh-pages: cpp-tests.html, build from branch dev
    • Note: Follow functionals require wasm pthread support, and needs server enable https://web.dev/coop-coep/ response with specified header, and by default thread support was enabled by axmol client build commands
      • AudioEngine
      • ASTC multi-thread software decoder
      • TextureCache::addImageAsync
      • MeshRenderer::createAsync
      • Extension: live2d not support due to it's sdk core not opensource and not contains wasm prebuilt libs
    • Quick build and run cpp_tests on local machine, the command use emrun to preview, and it's response with specified headers which wasm pthread support required, so above functionals with multi-threading works well.
      • axmol run -p wasm -xb "--target,cpp_tests"
    • Add 2 cmake options: AX_WASM_THREADS, AX_WASM_SHELL_FILE, refer to CMakeOptions.md
  • OpenGL3/GLES3 support, add new cmake option AX_GLES_PROFILE to control GLES profile, refer to #1279
  • Mesh instancing draw support by @DelinWorks
  • Use glslcc(a spriv-corss & glslang wrapper tool) as new shader workflow, write shader by ESSL310, build to target platforms:
    • MSL for Apple(macOS/iOS/tvOS)
    • ESSL300 for Android, ANGLE
    • GLSL330 for Desktop GL
    • GLSL100 for Android old devices e.g android-4.2
    • Restrict ESSL310 input shader: please only define 1 uniform block at per shader stage
  • Improve ProgramManager for loading custom shader program more easy
  • Improve text rendering, label SDF outline support
  • Improve FileStream, handle large 4GB+ files
  • Improve ASTC hardware support detection
  • Use ANGLE as default renderer library on win32
  • Thirdparty Updates
    • 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 changes:
    • CHANGED: The prototype of ProgramManager::registerCustomProgram was changed
    • ADDED: ProgramManager::loadProgram
    • REMOVED: ProgramManager::getCustomProgram
    • REMOVED: CommandBuffer::setLineWidth
  • Many other improvements