Axmol Engine – A Multi-platform Engine for Desktop, XBOX (UWP) and Mobile games. (A radical fork of Cocos2d-x-4.0)
Go to file
halx99 c37af4c38e Improve shader managment
1. Rename uniformId to batchId, refine batch draw check logic, not use xxhash to compute uniforms id
2. Material works, not check all cpp-tests, but some 2d/3d material works fine
3. Shader load/cache API improvements.
4. BREAK compatibliity: Node::setProgramState change parameter needsRetain to ownPS and value inverted.
5. custom vertexLayout setup: add new API ProgramState::getMutableVertexLayout, mark ProgramState::setVertexAttrib deprecated.
6. ProgramManager registerCustomProgram change to gen progId by vsName, fsName
with xxhash64, if register succed, user can load it by progId with `loadProgram`
7. Add API ProgramManager::loadProgram for loading builtin by progType or
loding a custom program by id
8. Add API ProgramManager::loadProgram to load program by vsName, fsName
immediately without register as CUSTOM_PROGRAM
9. Add API Node::setProgramStateByProgramId(progTypeOrId); for set programState with
programType or programId explicit.
10. Migrate material load logic
2023-07-25 09:40:05 +08:00
.github Reduce pull-request ci jobs 2023-07-15 22:39:32 +08:00
1k Auto compile app/Sources/shaders to axslc/custom 2023-07-19 23:41:16 +08:00
cmake Fix shader files search 2023-07-22 23:58:52 +08:00
core Improve shader managment 2023-07-25 09:40:05 +08:00
docs Update DevSetup.md (#1264) 2023-07-10 00:36:50 +08:00
extensions Improve shader managment 2023-07-25 09:40:05 +08:00
templates Auto pack axslc into android apk 2023-07-20 01:18:27 +08:00
tests Improve shader managment 2023-07-25 09:40:05 +08:00
tools Remove migrate source inseted by axmol-migrate: 2023-07-07 20:51:04 +08:00
.clang-format Update .clang-format [skip ci] 2023-02-16 13:20:29 +08:00
.editorconfig Add apple tvos support (#846) 2022-09-05 14:13:52 +08:00
.gitattributes Restore prebuilt libs from git lfs storage 2021-06-06 10:16:44 +08:00
.gitignore Auto compile app/Sources/shaders to axslc/custom 2023-07-19 23:41:16 +08:00
APPENDIX.md Final migrate (#876) 2022-10-01 16:24:52 +08:00
AUTHORS Add apple tvos support (#846) 2022-09-05 14:13:52 +08:00
CHANGELOG Update ChangeLog [Commits on Jun 11, 2023] 2023-06-11 21:28:47 +08:00
CMakeLists.txt Remove migrate source inseted by axmol-migrate: 2023-07-07 20:51:04 +08:00
CMakeOptions.md Rename option `AX_USE_COMPAT_GL` to `AX_USE_ANGLE` 2023-07-03 20:35:55 +08:00
CONTRIBUTING.md Final migrate (#876) 2022-10-01 16:24:52 +08:00
LICENSE Update readme & copyright year 2022-02-24 20:34:24 +08:00
README.md Merge: c9436765b4 ed0b22ac70 2023-07-18 15:17:31 +08:00
README_CN.md Reduce ci checks 2023-07-01 21:54:12 +08:00
RENAMED_TYPES.md Final migrate (#876) 2022-10-01 16:24:52 +08:00
fix-git-status.bat Windows Store UWP apps support (#1108) 2023-03-11 22:10:18 +08:00
setup.ps1 Merge: d14b0d5319 b01786ef2c 2023-07-16 14:56:40 +08:00

README.md

axmol logo

Axmol Engine

A Multi-platform Engine for Desktop, XBOX (UWP) and Mobile games. (A radical fork of Cocos2d-x-4.0)

dev LICENSE Codacy Badge PRs Welcome vscode.dev Discord

issues forks stars GitHub code size in bytes

简体中文

Supported Platforms

Build Status (github)
Windows(win32,winuwp,win32-clang) Win32 CI
Android Android Build Status
iOS iOS Build Status
tvOS tvOS Build Status
Linux Linux Build Status
macOS macOS Build Status

New MediaPlayer

The new ui::MediaPlayer(renamed from ui::VideoPlayer) render video as Texture2D with designed corss-platform MediaEngine, the MediaEngine inspired from microsoft media foundation IMFMediaEngine, the MediaPlayer support all platforms which axmol engine does.

Target Platform Video Compress Format Video Pixel Format Container Format Backend
Windows Desktop H264, HEVC, VP90 YUY2, NV12, RGB32 .mp4,.mkv,.webm IMFMediaSession
Windows UWP H264, HEVC, VP90 BGR32 .mp4,.mkv,.webm IMFMediaEngine
Apple macOS H264, HEVC(hvc1) NV12, BGR32 .mp4 AVFoundation
Apple tvOS H264, HEVC(hvc1) NV12, BGR32 .mp4 AVFoundation
Apple iOS H264, HEVC(hvc1) NV12, BGR32 .mp4 AVFoundation
Android H264, HEVC NV12 .mp4,.mkv,.webm ExoPlayer2
Linux H264, HEVC NV12 .mp4,.mkv,.webm libVLC

Building

View the Dev setup instructions.

Highlighted Features

  • Windows UWP support, refer to: https://github.com/axmolengine/axmol/pull/1108
  • Add apple M1, android x64 support, contributed by @pietpukkel
  • Improve windows workflow, support linking with engine prebuilt libs, read windows workflow guide
  • Windows video player support (based on microsoft media foundation)
  • Windows x64 build support
  • Reimplement HttpClient based on yasio for concurrent http requests processing.
  • 'Upstream-Version-License' Third-party
    • Third-party license overview for easier publishing of your commercial apps based on axmol framework.
    • Some links to third party libs which support axmol too.
  • 'Upstream-Version-License' Extensions
    • Extensions license overview for easier publishing of your commercial apps based on axmol framework.
    • Spine-3.8 support
    • FairyGUI support
    • DragonBones support
    • Live2D support
    • ImGui integrated, easy to write game embedded tools, very easy to use, read ImGui for more info
  • Refactor AudioEngine, OpenAL for all platforms
    • OpenAL Soft, pass -DAX_USE_ALSOFT=ON to cmake to force enabling it
    • OpenAL.framework, if no AX_USE_ALSOFT option specified, cmake script will choose it on osx/ios/tvos, even though it was marked as deprecated, but still available.
  • Refactor UserDefault with mio
  • Modularize all optional extensions, move from engine core folder to an extensions folder
  • Implement all .wav formats supported by OpenAL Soft, such as MS-ADPCM, ADPCM, ...
  • Use a modern GL loader Glad
  • Google angle renderer backend support
  • C++ 17/20
  • IOS/TVOS SDK 9.0 as minimal deployment
  • Use fast pugixml
  • Use curl for transferring data with URL syntax
  • Use SAX parser for all plist files
  • ASTC 4x4/6x6/8x8 support (if hardware decoding is not supported, then software decoding is used)
  • ETC2 RGB/RGBA support (if hardware decoding is not supported, then software decoding is used)
  • Supported 2D physics engines (see also APPENDIX.md):
    • Box2D
    • Box2D-optimized
    • Chipmunk2D
  • Supported 3D physics engines:
    • Bullet Physics SDK

Read Full changes since cocos2d-x-4.0

Open APPENDIX.md for additional information and see Milestones for planed features too.

The axmol Active Stats

Alt