Copyright © 2023-2024 Argore
SDL2 | GLFW | OpenGL | GLES | |
---|---|---|---|---|
Windows | ✔️ | ✔️ | ✔️ | ✔️ |
Emscripten | ✔️ | ❌ | ❌ | ✔️ |
Linux | ❔ | ❔ | ❔ | ❔ |
macOS | ❔ | ❔ | ❔ | ❔ |
Consoles* | ❌ | ❌ | ❌ | ❌ |
*planned
Wyvern is far from a feature-usable engine, so don't expect much at the moment.
- Configurable Core Pipeline
- Currently this entails choosing between SDL or GLFW, and OpenGL or OpenGL ES (and WebGL through Emscripten).
More options will come in the future as I continue to add better cross-platform support
- Currently this entails choosing between SDL or GLFW, and OpenGL or OpenGL ES (and WebGL through Emscripten).
The code is more what you'd call 'guidelines' than actual rules.
~ Captain Barbossa, ca.1730.
aka these are things that I want to implement, not a timeline
- Direct3D and Vulkan Backend
- (Homebrew) Console support, such as Xbox/Xbox 360, PlayStation®3, etc.
- a large portion of the configurable pipeline in Wyvern is to allow for easy implementation of more involved platforms, although this is not a priority
- Proper Editor (Likely using wxWidgets or Qt), and through that:
- and through that, SceneGraphs, Prefabs, runtime Materials, and so on.
- Built-in Physics engine, likely Bullet, PhysX, or Havok. Potentially a custom one but unlikely
- More versatile materials and graphics
- Currently only basic shading exists and Material properties have to be hardcoded in C++
Wyvern uses the free and open-source build tool xmake.
xmake installation guide
Run build.bat
The Visual Studio solution will be located in build/vsxmake...
xmake f -p <platform> -m <mode>
<platform>
is windows, linux, or wasm
<mode>
is Debug, Release, or Package
xmake
Wyvern supports WASM through SDL and OpenGL ES. Building is done using xmake like normal, but requires a few extra steps.
Emscripten installation guide can be found here
- In the msys2 terminal, make sure mingw64 is properly installed
pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain
- Start mingw64 terminal as administrator
pacman -S mingw-w64-x86_64-xmake
emsdk activate
xmake l detect.sdks.find_emsdk
the path to EMSDK should be printed
where git
INFO: Could not find files for the given pattern(s).
export PATH=$PATH:<path/to/Git/cmd>
where <path/to/Git/cmd>
is the path to your Git installation
xrepo install -v -p wasm libsdl
xrepo install -v -p wasm assimp
in Wyvern root start cmd, then activate emsdk and build xmake like normal
emsdk activate
xmake f -p wasm -m Package
xmake --rebuild
there should now be an html file in game/
emrun game/Wyvern.html
don't mind these
https://www.youtube.com/watch?v=_2FMt_0wVMM
https://www.wxwidgets.org
https://github.com/SonyWWS/ATF/wiki