Projects

Video Matting

Matting is the classic computer graphics and vision problem of separating an object from its background by computing a "matte" image that marks the foreground region. Since 1958 the film industry has used special background screens to simplify matting. We were the first to automatically compute mattes for video of natural scenes without special backgrounds or lighting. We also merged those techniques with special backgrounds to generate exceptionally high quality and real-time mattes in the studio.

Real-Time Studio Matting using Dual Imagers. McGuire, Matusik, and Yerazunis. EGSR 2006
Real-Time Triangulation Matting Using Passive Polarization. McGuire and Matusik. SIGGRAPH 2006 Sketch
Defocus Video Matting. McGuire, Matusik, Pfister, Hughes, and Durand. ACM Trans. Graphics (SIGGRAPH 2005)
Defocus Difference Matting. McGuire and Matusik. SIGGRAPH 2005 Sketch

Shader Authoring

This project investigates new paradigms for programming graphics hardware without writing source code. This allows artists and hobbyists to create more compelling content, and empowers programmers to develop applications faster.

Abstract Shade Trees. McGuire, Stathis, Pfister, and Krishnamurthi. I3D 2006
The SuperShader. McGuire. ShaderX4 2005

Plausible Animation


Dynamo: Dynamic, Data-driven Character Control with Adjustable Balance. Wrotek, Jenkins, McGuire. ACM Sandbox Symposium on Video Games 2006
World Space Servoing for Character Animation under Simulation. Wrotek, Jenkins, McGuire. SIGGRAPH Sketch 2006
A Real-Time, Controllable Simulator for Plausible Smoke. McGuire. Brown Tech Report 2006

Real-Time Non-Photorealistic Rendering

Stylized images like cartoons can communicate shape and motion better than photorealistic images. This makes them prefferable for many applications like entertainment and medicine. However, stylized images have proven more challenging to produce than photorealistic ones. This project investigates new algorithms for rendering 3D objects in artistic styles using graphics hardware.

Yang Fan is Born, Huang, McGuire. Short film at NPAR 2008.
A Fast, Small-Radius GPU Median Filter. McGuire, ShaderX6 2008
Real-Time Cartoon Rendering of Smoke and Clouds. McGuire, Fein. NPAR 2006
Real-Time Cartoon Rendering of Smoke. McGuire, Fein, Hartnett. SIGGRAPH Poster/ACM SIGGRAPH Student Research Talk 2004
Hardware Determined Edge Features. McGuire, Hughes. NPAR 2004

Effective Shadow Volume Rendering

We described several new optimizations for the shadow volume method of shadow casting that then appeared in video games like Doom 3, and characterized the properties of shadow volumes to introduce new theoretical and practical bounds on runtime performance.

Single-pass shadow volumes for arbitrary meshes. McGuire, SIGGRAPH Poster 2007
Observations on Silhouette Sizes. McGuire, jgt 2004
Effective Shadow Volume Rendering. McGuire, GPU Gems 2004
Fast, Practical, and Robust Shadows. McGuire, Hughes, Egan, Kilgard, and Everitt, NVIDIA Tech Report 2003
The Brown Mesh Set. McGuire, Musurca, Dataset 2003

Efficient Surface Models for Video Games

Real-time Collision Deformations. Wrotek, Rice, McGuire. jgt 2005
A Heightfield on an Isometric Grid. McGuire, Sibley. Brown Tech Report 2005
Steep Parallax Mapping. McGuire, McGuire. I3D Poster 2005
A Heightfield on an Isometric Grid. McGuire, Sibley. SIGGRAPH Sketch 2005
Hybrid Billboard Clouds for Model Simplication. Bromberg-Martin, Mar Jonsson, Marai, McGuire. SIGGRAPH Poster 2004

The G3D Platform for Research and Education

G3D is a commercial-grade 3D Engine available as Open Source (BSD License). It is used in games, tech demos, research papers, military simulators, and university courses. It 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 and sockets easier to use without limiting functionality or performance. G3D gives you a rock-solid, highly optimized base from which to build your application.

GUIs for Real-time Programs, using Universal Pointers. McGuire SIGGRAPH Poster 2008
The G3D 7.00 Manual. McGuire et al. 2007
The G3D Engine as Platform for Research and Education. McGuire et al. I3D Poster 2006
The G3D Engine. McGuire. Software Developer's Journal 2005
Advanced language features for simplicity and safety in a graphics API. McGuire. C++ Users Journal 2004

Thanks to Brown University and Mitsubishi Electric Research Laboratory, where some of these projects were performed. Thanks to NVIDIA, ATI, and Autodesk for supporting this research.