Home

Morgan McGuire

The G3D Innovation Engine is a commercial-grade C++ 3D engine designed to provide an extremely flexible API for prototyping and research, with pretty good performance.
It has been used in commercial games, research papers, military simulators, and college courses. G3D supports real-time rendering, off-line rendering like ray tracing, and general purpose computation on GPUs. It brings together several best-of-breed graphics and media libraries (such as GLEW, GLFW, FFMPEG, FreeImage, FMOD, and AssIMP) under a common API and adds optional high-level support for scene graphs, GUIs, and other essential elements.

G3D is best for programmer-led work investigating aggressive departures from conventional rendering and modeling systems. Developers who need professional artist-grade tools and do not need to modify the system infrastructure substantially should instead use the Unreal Engine. Developers with small teams who need only small modifications to shaders on an existing material model should use the Unity Engine.

Like most professional graphics engines, G3D currently requires at least OpenGL 3.3. G3D currently targets desktop graphics, although we have made API changes in anticipation of full GL4 mobile parts and expect to run on mobile platforms at some point. G3D has been ported by developers to console and mobile targets, although this is not supported by the open source SVN branches.

The current version of G3D is 10.0 available as a binary release and source code from http://g3d.sf.net.

As of December 2014, G3D 10.1 is in development and is available from SVN. It is extremely stable and will ship in final form for OS X and Windows in Q1 2015. Planned features for the 10.x series include:

  • Abstraction of a Renderer, for quickly switching between forward, deferred, tiled deferred, and new experimental pipelines
  • Oculus Rift DK2 direct rendering support
  • Weighted, blended order-independent transparency
  • New microfacet material model for UniversalMaterial
  • Native file dialogs
  • FFMPEG upgrade, which will fix a large number of outstanding video issues (Chrome compatibility, reading performance, image quality vs. size, audio support)
  • Webcam support
  • Named framebuffer output arguments
  • Native support for NVIDIA Maxwell OpenGL extensions
  • Full sparse voxel octree support
  • Linux (Ubuntu) support
  • ATLAS and CERES linear algebra and optimization packages

G3D generally stays with dependencies for two years and then jumps to the latest version to reduce the number of incremental ports for G3D users and developers. We plan to early adopt GL5 into the 10.x branch (or start a new 11.x branch) as soon as OS X drivers are available for it. If OS X GL5 drivers lag Windows drivers by more than six months, then we will drop OS X support for beta releases until they arrive to avoid slowing down GL5 progress. We do not plan to support GLES or WebGL as they are converging rapidly to the OpenGL API, and mobile devices are quickly moving to full OpenGL.

G3D currently provides Visual Studio 2012 project files. We will early adopt Visual Studio 2015 as soon as the release candidate of that IDE is available.

Screenshot thumbnail
Fluid simulation by Charles Cao and Kefei Lei
Screenshot thumbnail
Anime Robot from Hardware Determined Edge Features
Screenshot thumbnail
SuperShader "Models" demo for advanced GPUs
Screenshot thumbnail
Renaissance-style racing by Kyle Whitson and Aaron Schwartz
Screenshot thumbnail
Images by Inq Games using a G3D-based engine


Project Admins: