|
||
---|---|---|
cmake | ||
example | ||
models | ||
modules-shims | ||
patches | ||
src | ||
.clang-format | ||
.clangd | ||
.gitignore | ||
CMakeLists.txt | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md | ||
build-windows.sh | ||
msvcenv-native.sh |
README.md
Iridium Engine
A cross-platform game engine written in C++20 using modules.
"This isn't bleeding edge, it's hemorrhaging edge." - Zipdox
Plans
Here are some of the things I plan to implement in the engine:
- Agnostic, cross platform, rendering backend (OpenGL, Vulkan)
- ECS or ECF system?
- Modding support
- Steamworks integration
- Cross-platform support (Windows, Linux, MacOS)
- Cross-platform asset pipeline
Why?
Idk I got bored and wanted to make a c++ game engine that utilizes modules, as It seems modules don't get enough love.
The entire point is basically to learn more c++, but also to learn about modules and game engine development.
Build requirements
Compiler support for:
- C++20
- C++23 ranges
- libc++
At the time of writing this, these compilers are known to work:
- Visual Studio >=17.1
- Clang >= 17 PLUS the corresponding version of
clang-tools
, which is required for clang-scandeps - CMake + Ninja
- Vulkan headers:
libvulkan-dev
- OpenGL headers:
libopengl-dev libglx-dev libgl-dev
- Shaderc headers:
libshaderc-dev
- X11 headers:
libx11-dev libxi-dev libxrandr-dev libxinerama-dev libxcursor-dev