An in-development, multithreaded, cross-platform game engine with very few dependencies for a small game. Formerly, a multiplatform trading client and GUI. Do you understand why it's called "trader"?
This project is still in its early stages, so to say. Right now, it supports Windows and has a Direct3D 11 rendering backend, running at 60fps with ease. On Linux, development is underway for X11-based system using OpenGL as the rendering backend (work can be found on the linux-bootstrap branch). It has the infrastructure to do shader hot-reloads, instrumented profiling, logging asserts, frame buffer captures, visual debugging, plots, text editing, and more! One might say it's awesome!
Getting mulithreaded systems up and running
- Run DX11 commands on separate thread
- Complete I/O reads and writes on pseudo-job system
- Linux! Oh, no..., but going
- OpenGL backend for Linux
- Multi-threaded architecture
- User-created UI "workspace"
- JSON and HTTP response parsing
- HLSL → GLSL converter (a.k.a. hlslparser)
- InputLayout/VAO generator from shader
I haven't configured it to be built by another person so mileage will definitely vary. Make sure you have the requisite libraries on Linux. You could probably use the .github/workflows yaml as a source for a "vanilla build." Keep in mind that there aren't any release build scripts at the moment.
If you check out the linux-ubuntu-opengl-triangle branch, you can find how to initialize OpenGL on X11 without external libraries (that means you, GLUT, GLFW, SDL, ANGLE, Qt, etc.) in src/platform_linux/linux_trader. If you want the same for Direct3D 11, you should check out Kevin Moran's tutorial.