It’s not very often a game engine takes me completely by surprise. Especially a full featured, open source, C++ based, cross platform, heavily documented, feature rich, high performance 3D game engine. Well that’s exactly what happened with the G3D Innovation Engine. The primary maintainers are Morgan McGuire (@CasualEffects) who is currently an educator as well as a VR scientist at NVIDIA and previously worked on games such as Skylanders, Titan Quest and the Unity game engine, as well as Michael Mara at Standard University and Oculus Research.
The G3D Engine is self described as:
The G3D Innovation Engine is a commercial-grade C++ 3D engine available as Open Source.
G3D supports hardware accelerated real-time rendering, off-line rendering like ray tracing, and general purpose computation on GPUs. Its design emphasizes rapid prototyping and innovation, particularly of rendering and game algorithms.
G3D provides a set of routines and structures so common that they are needed in almost every graphics program. It makes low-level libraries like OpenGL, network sockets, and audio channels easier to use without limiting functionality or performance. G3D is a carefully designed, feature-rich base on which to prototype your 3D application.
Beyond being a capable engine it is also an incredible learning resource. The engine is bundled with over 6GB of assets to experiment with, as well as over a dozen robust samples with thoroughly documented source code. One of the samples is even a full blown first person shooter, while another demonstrates a Minecraft-esque voxel based level. There are also examples that show you how to work at the lowest level directly with OpenGL as well as advanced examples showcasing functionality such as real-time raytracing, lighting effects, procedural geometry and even VR.
Additionally each example can easily embed a suite of tools directly, enabling you to screen shot or video capture, change camera settings on the fly or launch the built in profiler. There is even a complete scene editor built in, allowing you to place entities directly in your scene via simple drag and drop, turning your application into a minimalistic level editor.
Remember back at the beginning I mentioned that the maintainer was also an educator? He has also authored a companion called the Graphics Codex which goes hand in hand with the G3D game engine. For a mere $10 you gain access to an advanced reference that may just be one of the single best ways of learning computer graphics topics such as ray casting, BSDF, rendering and more. You can see a full chapter list here. So if you are trying to learn more advanced graphics programming, G3D is certainly a great resource. Keep in mind however, this material was used with a 300s level graphics course, so you are going to need a solid foundation in math to follow along.
Purchasing the Graphics Codex is by no means a requirement however. One thing open source projects often suffer from is poor documentation. Thankfully this certainly isn’t the case with the G3D engine. There is an extensive manual available here, as well as a comprehensive set of API references. As mentioned earlier, the engine is also loaded with well documented samples.
If you are looking for a low level foundation to build your game on, a framework to do some graphical experiments or simply are looking for a way to learn more about modern graphics programming, I can think of little reason not to suggest checking out the G3D Innovation Engine.
If you are interested in learning more about the G3D Innovation Engine, be sure to check out our hands-on video available here and embedded below. I am almost certain you will be amazed.