2022-12-17 16:32:20 +08:00
< p align = "center" > < a href = "https://axmolengine.github.io/axmol" target = "_blank" rel = "noopener noreferrer" > < img width = "160" src = "docs/logo.png" alt = "axmol logo" > < / a > < / p >
2023-03-25 11:18:21 +08:00
# Axmol Engine
2021-12-31 12:12:40 +08:00
2023-08-25 16:57:54 +08:00
## A Multi-platform Engine for Desktop, XBOX (UWP) and Mobile games. (A fork of Cocos2d-x-4.0)
2023-03-25 08:37:51 +08:00
2022-10-01 16:24:52 +08:00
[![dev ](https://img.shields.io/github/v/release/axmolengine/axmol?include_prereleases&label=release )](https://github.com/axmolengine/axmol/releases)
[![LICENSE ](https://img.shields.io/badge/license-MIT-blue.svg )](https://github.com/axmolengine/axmol/blob/master/LICENSE)
[![Codacy Badge ](https://app.codacy.com/project/badge/Grade/81fa1aba09ab41a98b949064b928d06e )](https://www.codacy.com/gh/axmolengine/axmol/dashboard?utm_source=github.com& utm_medium=referral& utm_content=axmolengine/axmol& utm_campaign=Badge_Grade)
[![PRs Welcome ](https://img.shields.io/badge/PRs-welcome-blue.svg )](https://github.com/axmolengine/axmol/pulls)
2023-05-31 12:58:15 +08:00
[![vscode.dev ](https://img.shields.io/badge/vscode.dev-green.svg )](https://vscode.dev/github/axmolengine/axmol)
2023-07-15 11:25:48 +08:00
[![Discord ](https://img.shields.io/discord/1099599084895088670?label=discord )](https://discord.com/channels/1099599084895088670)
2020-11-15 17:56:03 +08:00
2022-10-01 16:24:52 +08:00
![issues ](https://img.shields.io/github/issues/axmolengine/axmol?style=plastic )
![forks ](https://img.shields.io/github/forks/axmolengine/axmol?style=plastic )
![stars ](https://img.shields.io/github/stars/axmolengine/axmol?style=plastic )
![GitHub code size in bytes ](https://img.shields.io/github/languages/code-size/axmolengine/axmol?style=plastic )
2023-03-11 23:34:10 +08:00
2023-08-25 16:57:54 +08:00
2023-03-25 11:18:21 +08:00
**[简体中文](README_CN.md)**
2023-03-25 08:37:51 +08:00
2023-03-11 23:34:10 +08:00
## Supported Platforms
2023-03-25 08:37:51 +08:00
2023-03-11 23:34:10 +08:00
| Build | Status (github) |
|-------|-----------------|
2023-07-01 21:54:12 +08:00
| Windows(win32,winuwp,win32-clang)|[![Win32 CI](https://github.com/axmolengine/axmol/actions/workflows/windows.yml/badge.svg)](https://github.com/axmolengine/axmol/actions/workflows/windows.yml)|
2023-03-11 23:34:10 +08:00
| Android | [![Android Build Status ](https://github.com/axmolengine/axmol/workflows/android/badge.svg )](https://github.com/axmolengine/axmol/actions?query=workflow%3Aandroid)|
| iOS |[![iOS Build Status](https://github.com/axmolengine/axmol/workflows/ios/badge.svg)](https://github.com/axmolengine/axmol/actions?query=workflow%3Aios)|
| tvOS |[![tvOS Build Status](https://github.com/axmolengine/axmol/workflows/tvos/badge.svg)](https://github.com/axmolengine/axmol/actions?query=workflow%3Atvos)|
| Linux |[![Linux Build Status](https://github.com/axmolengine/axmol/workflows/linux/badge.svg)](https://github.com/axmolengine/axmol/actions?query=workflow%3Alinux)|
| macOS |[![macOS Build Status](https://github.com/axmolengine/axmol/workflows/osx/badge.svg)](https://github.com/axmolengine/axmol/actions?query=workflow%3Aosx)|
2023-09-11 23:27:52 +08:00
| WASM(experimental) |[![WASM Build Status](https://ci.appveyor.com/api/projects/status/4slq965fwhbaidnc?svg=true& passingText=wasm%20-%20passing)](https://ci.appveyor.com/project/halx99/axmol)|
2023-03-11 23:34:10 +08:00
2023-09-06 19:15:05 +08:00
## Building
View the [Dev setup instructions ](docs/DevSetup.md ).
2023-09-22 13:59:14 +08:00
## Axmol WebAssembly preview
https://axmol.netlify.app/
2023-09-02 19:56:50 +08:00
## Renderer Backends
- Metal for macOS and iOS
- OpenGL 3.3+ for Linux, macOS and Win32
- OpenGL ES 2.0+ for Android
- OpenGL ES 3.0+ for iOS
- ANGLE GLES 3.0+ for Win32 and UWP
2023-09-06 19:15:05 +08:00
- WebGL 2.0(OpenGL ES 3.0): WASM (experimental)
2023-09-02 19:56:50 +08:00
2023-06-12 11:12:39 +08:00
## 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.
2023-04-01 16:07:55 +08:00
2023-07-01 21:54:12 +08:00
| Target Platform | Video Compress Format | Video Pixel Format | Container Format | Backend |
2023-06-19 16:06:37 +08:00
|-----------------------|-----------------------|----------------------|----------------- |--------------------|
| 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 |
2021-06-08 22:52:31 +08:00
2023-05-31 12:58:15 +08:00
## Highlighted Features
2022-12-20 11:31:52 +08:00
2023-09-09 01:07:47 +08:00
- WebAssembly support(experimental) by @nowasm
2023-03-11 23:08:08 +08:00
- Windows UWP support, refer to: https://github.com/axmolengine/axmol/pull/1108
2022-12-20 11:31:52 +08:00
- Add apple M1, android x64 support, contributed by @pietpukkel
- Improve windows workflow, support linking with engine prebuilt libs, read [windows workflow guide ](https://github.com/axmolengine/axmol/issues/564 )
- Windows video player support (based on microsoft media foundation)
- Windows x64 build support
2023-05-15 13:51:30 +08:00
- Reimplement HttpClient based on yasio for concurrent http requests processing.
2022-12-20 11:31:52 +08:00
- ['Upstream-Version-License' ](thirdparty/README.md ) 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/README.md ) 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 ](extensions/ImGui/README.md ) for more info**
- Refactor AudioEngine, OpenAL for all platforms
- [OpenAL Soft ](https://github.com/kcat/openal-soft ), pass -DAX_USE_ALSOFT=ON to cmake to force enabling it
- [OpenAL.framework ](https://opensource.apple.com/tarballs/OpenAL ), 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 ](https://github.com/mandreyel/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 ](https://github.com/google/angle ) renderer backend support
- C++ 17/20
2023-08-30 19:41:44 +08:00
- IOS/TVOS SDK 11.0 as minimal deployment
2022-12-20 11:31:52 +08:00
- Use fast pugixml
- Use [curl ](https://github.com/curl/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 ](APPENDIX.md )):
- Box2D
- Box2D-optimized
- Chipmunk2D
- Supported 3D physics engines:
- Bullet Physics SDK
2019-11-25 10:22:58 +08:00
2023-09-09 01:07:47 +08:00
[Read Full changes since cocos2d-x-4.0 ](CHANGELOG.md )
2022-02-24 17:57:08 +08:00
2022-10-01 16:24:52 +08:00
Open [APPENDIX.md ](APPENDIX.md ) for additional information and see [Milestones ](https://github.com/axmolengine/axmol/milestones ) for planed features too.
2020-11-19 13:48:12 +08:00
2023-05-31 12:58:15 +08:00
## Reference links
2022-11-27 22:57:06 +08:00
2023-08-25 16:57:54 +08:00
- [build1k ](https://github.com/axmolengine/build1k ), the axmol prebuilt build-bot
2023-09-02 19:56:50 +08:00
- [axmolengine/glslcc ](https://github.com/axmolengine/glslcc ), a fork of glslcc for axmol new shader workflow tool
2023-09-04 19:16:26 +08:00
- [Interesting related ](https://github.com/axmolengine/axmol/discussions/694 )
2023-03-08 08:10:49 +08:00
- [Axmols contributing guide ](https://github.com/axmolengine/axmol/discussions/411 )
2023-05-31 12:58:15 +08:00
- [Official Cocos2d-x ](https://github.com/cocos2d/cocos2d-x )
2021-08-27 15:47:40 +08:00
2023-05-31 12:58:15 +08:00
## The axmol Active Stats
2023-08-25 16:57:54 +08:00
2022-11-08 23:28:15 +08:00
![Alt ](https://repobeats.axiom.co/api/embed/6fcb8168a3af91ba9e797a1f14a3c2edc42ac56a.svg "Repobeats analytics image" )