mirror of https://github.com/axmolengine/axmol.git
e330b7001b | ||
---|---|---|
.github | ||
1k | ||
cmake | ||
core | ||
docs | ||
extensions | ||
templates | ||
tests | ||
tools | ||
.clang-format | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
APPENDIX.md | ||
AUTHORS | ||
CHANGELOG | ||
CMakeLists.txt | ||
CMakeOptions.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md | ||
README_CN.md | ||
RENAMED_TYPES.md | ||
fix-git-status.bat | ||
setup.ps1 |
README.md
Axmol Engine
A Multi-platform Engine for Desktop, XBOX (UWP) and Mobile games. (A fork of Cocos2d-x-4.0)
⚠️⚠️⚠️ NOTICE ⚠️⚠️⚠️
This branch still at an early develop phase, and the main goals is:
- OpenGL3/GLES3 support
- The GLES2 support was dropped
- Mesh instancing draw support
- Use glslcc as shader workflow, write shader by ESSL310, build to target platforms: MSL for Apple(macOS/iOS/tvOS), ESSL300 for Android, ANGLE, GLSL330 for Desktop GL
- Improve ProgramManager for loading custom shader program more easy
- Improve text rendering, SDF outline support
- Improve FileStream, handle large 4GB+ files
- Many other improvements: refer to #1279
Supported Platforms
Build | Status (github) |
---|---|
Windows(win32,winuwp,win32-clang) | |
Android | |
iOS | |
tvOS | |
Linux | |
macOS |
Renderer Backends
- OpenGL 3.3+ for Linux, macOS and Win32
- OpenGL ES 3.0+ for Android and iOS
- Metal for macOS and iOS
- ANGLE ES 3.0+ for Win32 and UWP
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.
Reference links
- build1k, the axmol prebuilt build-bot
- axmolengine/glslcc, a fork of glslcc for axmol new shader workflow tool
- Some interesting related projects based on axmol
- Axmols contributing guide
- Official Cocos2d-x