G3D Innovation Engine is a fully featured, cross platform game engine. This is a 3D engine written in C/C++. It is a commercial-grade, open source engine for different platforms i.e. Windows, Linus and Mac OS. The engine is licensed under BSD-2 license and mainly used for teaching purpose. It supports Real-Time Rendering, Offline Rendering, Ray Tracking, Model Loading and Linear Algebra.

It is maintained by Morgan McGurie, a former game developer, currently an educator and a VR Scientist in NVIDIA. Other than commercial games, this engine is a great source of learning. It is employed in Military Simulations, Tech Demos, Research Papers and Universities’ Courses. It receives contributions from Professional game developers, CAD (Computer Aided Design) developers, students, researchers, professors and industry.

G3D Innovation Engine
The G3D Innovation Engine

The engine is highly documented providing assistance to the new developers. If the reader is not at home with 3D development, they recommend reading Graphic Codex written by Morgan McGurie. The other useful resources include an extensive User Manual, a set of API References and samples (links are given at the end of this article).

This game engine is developed over the last several years. It has a stable backward compatible API. Minor releases are also backward compatible that is released once in every two months and announced well before, on the user forum.

G3D Innovation Engine has a design philosophy i.e., each library must have different properties and some of them include:

  • Easy to use and debug
  • Manages resources for the users.
  • Pieces of the library can be used.
  • Provide access to different data formats.
  • The same source code runs on all operating systems and Graphic Cards.
  • Contains coded needed for all 3D projects.

Other Features

  • Option Of Auto Memory And Resource Management
  • Adding VR To 3D Program by Subclass VRApp
  • Skeletal Animation And Avatars
  • Automatic Controller
  • Ambient Occlusion
  • Antialiasing
  • Order-Independent Transparency
  • Depth Of Field
  • Motion Blur
  • Path Tracking
  • Ray Tracking On CPU And GPU
  • Cloud And Remote Rendering
  • Skybox
  • Drag And Drop Editors
  • Real-Time Video Recorder
  • 3D Audio Using FMOD Technology

Useful Resources

Here's our list of top five game programming books you should read.

Game Engine Black Book: DOOM: v1.1

The book Game Engine Black Book: DOOM: v1.1 is just a masterpiece from Fabien Sanglard as it describes not only the details of how the code works, but also some interesting history and trivia. The description of hardware capabilities, audio/video interfaces, and design decisions behind them is quite interesting.

If you're not a programmer the book is still interesting - it explains lots of neat tricks, plenty of photos, quotes, and backstory about how the game was developed.

Game Programming Patterns

With over 85% 5-start reviews on Amazon, readers agree that Robert Nystrom's Game Programming Patterns is a must have for any software developer. It has a crystal clear look at how to be the benevolent architect of a very complicated software/game without getting lost.

The author presents the architecture of a game in an easy to understand matter not from an academic perspective but from experience. The book contains code examples written in C++, well organised and written so cleanly that it feels like pseudo-code.

Beginning C++ Through Game Programming

With Beginning C++ Through Game Programming, Michael Dawson builds your knowledge from the ground up. This book not only is easy to understand and teaches well, but it is focused on the very subject to learn C++ for game programming.

When it comes to game programming, C++ is the name of the game.

Blood, Sweat, and Pixels: The Triumphant, Turbulent Stories Behind How Video Games Are Made

This is highly recommend book for anyone who likes history of videos games, or just likes good stories. Blood, Sweat, and Pixels: The Triumphant, Turbulent Stories Behind How Video Games Are Made captures the complexity of game development that anyone can pick up and enjoy.

If you have even a passing interest in gaming be sure to pick this one up. (reader's comment)

Foundations of Game Engine Development - Volumes 1, 2

The volume 1 of the book discusses the mathematics needed by engineers who work on games or other virtual simulations. The volume 2 explores the vast subject of real-time rendering in modern game engines.

The book is packed with great C++ code snippets and examples. You have tried-and-true methods that can be incorporated into any game engine and source code is not specific to any API or framework.