Computer graphics projects by Morgan McGuire and friends.
twitter email game jams industry blog articles research nvidia williams

The Graphics Codex

An essential reference for 3D computer graphics.

I compiled the equations, diagrams, and code that I most reference into this app and then added 13 chapters of lecture notes from the graphics courses I taught. Available in iOS app and Windows, OS X, Android, and Linux web editions.

Project Rocket Golfing

An game of exploration and discovery for all ages on iPad, iPhone, and iPod Touch.

An infinite, procedurally-generated universe filled with ice planets, wormholes, aliens, verdant worlds, binary star systems, lost civilizations, and more. The further you explore, the more that the game changes. You will encounter new game features as you reach more distant galaxies.


Markdown everywhere, with diagrams and equations

A free technology that magically makes plain text documents look great when viewed in a browser. No plugin, installation, document compiling or exporting...just start writing.


Learn to program web and mobile games in JavaScript

A framework and examples for learning game programming the fun and easy way, using JavaScript in a web browser.

G3D Innovation Engine

Graphics research and rapid prototyping in OpenGL and C++

A platform-independent, open source engine used for research and development throughout academia and industry for 15 years. The primary code library for the Graphics Codex and Computer Graphics Principles and Practice.

Computer Graphics: Principles and Practice

The definitive, comprehensive textbook on computer graphics for over three decades

This third edition of the classic "Foley and van Dam" text is completely rewritten to cover all major topics in the field. It is both broad and deep, covering topics as diverse as including GPU architecture, path tracing, shader programming, matrix transformations, the physics of light, subdivision surfaces, spatial data structures, and animation.

Creating Games: Mechanics, Content, and Technology

Game development, from world-building to coding to project management

A practical introduction to game development for indie developers, hobbyists, and students.

McGuire Data Archive

Computer graphics benchmarks

Free, standardized computer graphics models and test images for use in research and prototyping in OBJ and PNG format.


A teaching environment for young programmers

A modern variant of the classic LOGO language with a simple web integrated development environment and extensibility to animations.

Darwin Java AI programming game challenge I developed as an assignment at Williams College
include.js Adds client-side <include> tags to HTML
treelist.js Lightweight selectable and scrollable tree list UI for JavaScript
2DOBB.h 2D oriented-bounding box intersection detection in C++
cardgen.js Playing card generator in HTML + CSS + JavaScript
cgpp3-support Minimalist multi-platform c++ code for loading, saving, and displaying images and 3D models from Computer Graphics: Principles & Practice
infix.scm Infix math macro for PLT MzScheme and DrScheme
Raycaster DOOM-style raycaster written in Java as a teaching example Software rasterizer written in Java as a teaching example Red black tree implementation and demo in Java Splay tree implementation and demo in Java
sort.cpp Elegant reference implementations of common sorting algorithms in C++
Tachyon 3D-pong game demo in Unity C#
Terrain.cpp Continuous-LOD/clipmap GPU terrain with multi-scale texturing
Platformer PICO-8 Lua code for a full-featured 2D platformer player character simulation
Particle.p8 High-performance PICO-8 particle system optimized with bitwise tricks

game jams

Tiny Earth
Implicit surface shadertoy
Brick Room VR
Real props & virtual physics
Baby Bat Becomes A Hero
Kid-friendly metroidvania
PICO-8 Brick Breaker
Clone for teaching P8
Implicit surface bricks
One Game A Day Arcade
6 games coded in two hours
Star Map
Procedural space sky shader
Show Me Colors
Augmented reality web toy
Mandelbulb Explained
3D fractal tutorial
Star Journey
3D web space shooter
Espionage virtual board game
Tactical space adventure
A Thousand Moonlit Seas
Tron in the age of sail
Airburner: Vengeance
Dystopian top gun
Rock Rebel
Guitar-controller synth

blog posts

industry work

Trademarks of the above are owned by their respective companies and publishers.


2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002 2001 2000 1999 1998
  • McGuire, An image registration technique for recovering rotation, scale and translation parameters. NEC Tech Report, Feb. 1998. PDF PPT
  • Stone, LeMoigne, and McGuire. The translation sensitivity of wavelet-based registration. Proceedings of the 26th AIPR Workshop, Proceedings of the SPIE, Exploiting New Image Sources and Sensors 3240:116-125, 1997 BibTex
  • McGuire and Stone, Techniques for multi-resolution image registration in the presence of occlusions. Image Registration Workshop, Goddard Space Flight Center, Greenbelt, MD, Nov 20-21, 1997 DOC