There are dozens of great and feature-complete game engines already available on the market today, why develop another one? Is MATTER trying to compete with those?
Simply put, no. MATTER is a personal learning project being developed as a vessel for better understanding computer graphics and the physics involved in 3D game engines. I like making games, and I like programming. But more than those two things, I love challenges.
Documentation is sparse and incomplete, but is being continuously updated. You can find it here.
MATTER is split in to a couple different components. SOLID is the editor, LIQUID is the physics engine and PLASMA handles rendering. Any of the folders that aren't capitalized are not necessary to build and run the engine and mostly contain build chain specific scripts, config files, and documentation.
EDITOR/
contains all the resources used by SOLID such as fonts, themes, icons, etc. The EDITOR/resources
directory needs to be copied to the same location as the SOLID executable for the editor to run.
MATTER uses Font Awesome Pro. Since this is a licensed font I cannot provide it as part of this repo. You will need to either purchase FA Pro or implement your own icon font using either the headers created by @juliettef or generate your own defines.
MATTER is targetting Windows only at the moment. Support for Unix/macOS may come in the future but is not being prioritized as OpenGL support is poor at best. Therefore, the following table is referring to the specificed compilers running on Windows 10.
Compiler | Arch | Config | Status |
---|---|---|---|
MSVC 17 | x64 | Debug | |
MSVC 17 | x64 | Release | |
MSVC 15 | x64 | Debug | - |
MSVC 15 | x64 | Release | - |
MinGW GCC 6 | x64 | Debug | - |
MinGW GCC 6 | x64 | Release | - |
This is a list of resources I've found helpful while developing MATTER.
- LearnOpenGL.com - A brilliant collection of step-by-step tutorials on working with OpenGL and 3D graphics from scratch.
- 3D Rigid Body Physics Simulation - An excellent paper by Olle Grahn, Marcus Lilja, Jonathan Bosson, and Torsten Gustafsson on the mathematics behind simulating 3D rigidbodies.
- Unity C# Reference - The public repository for the Unity engine's managed codebase.
- Official Blender Mirror - Source code for the Blender 3D modelling software
- But How DO Soft Body Simulations Work? - An excellent and concise overview of softbody physics simulations in practice
- Designing a Physics Engine in 5 minutes - A high level overview of the implementation of a basic 3D rigidbody physics engine
- Ray Marching - An overview of the Ray Marching alrgoithm and how it can be implemented in shaders
- BeamNG.drive Docs - Some nice documentation on the inner-workings of the BeamNG softbody physics engine
MATTER uses several third party libraries. License information can be found here: Third Party Licenses.
MATTER is licensed under the Apache-2.0 license. All third party sources are licensed under their respective licenses detailed here.