Welcome to the Computer Graphics (GFX) Research Group at UMass!
This is the homepage of the Computer Graphics Research group at UMass Amherst.

Our research focuses on developing new algorithms and techniques in computer graphics and visual computing in general. Research topics include 3D content creation, global illumination algorithms, real-time rendering, graphics hardware based rendering, geometric acquisition of the real-world, geometric modeling, geometry processing, animation and simulation of physical phenomena.

Get to know our members here and publications here.

People

Faculty
Rui Wang
Evangelos Kalogerakis

Graduate Students
Yahan Zhou
Zhaoliang Lun
Haibin Huang
John C. Bowers

Former Graduate Students
Richard Blake Foster (United Technologies)
David Maletz (Independent Game Developer)
Hong Yuan (Disney Interactive Studio)
Oskar Akerlund (Wikinggruppen)
Mattias Unger (Electronic Arts)
Stephen Giguere (UMass Machine Learning Group)

Summer REUs
Stephen Giguere
William Stumpf
Jim Gummeson
Jonathan Leahey

Demos, Code and Data

NOTE: In order to run the real-time demos below, you need a decent desktop graphics card that supports at least OpenGL 2.0. All demos have been tested on NVIDIA GPUs. We cannot guarantee that they will run correctly on other types of cards. If a program reports missing .dll files, find them here.

All light probe images below are courtesy of Paul Debevec and USC ICT graphics lab.

Importance Point Projection for GPU-based Final Gathering
Executable
Source Code

This is a demo for our paper entitled "Importance Point Projection for GPU-based Final Gathering". It demonstrates a GPU-based global illumination algorithm which allows for editing of dynamic scenes, including view, primary light sources, materials, and geometry. Please refer to the README.pdf in the package for details.

Geometric descriptors of points on shapes
Source Code

This is source code from our paper entitled "Learning 3D Mesh Segmentation and Labeling". This archive contains code for exporting the shape features included in x-tilde (see paper for details) and an implementation of Joint Boosting. The code uses Trimesh2 (version 2.8) and LAPACK.

Parallel Poisson Disk Sampling with Spectrum Analysis on Surfaces
Executable
Spectrum Analysis Tool

This is a demo for our paper entitled "Parallel Poisson Disk Sampling with Spectrum Analysis on Surfaces". It demonstrates the computation of Poisson Disk samples on arbitrary mesh surfaces in real-time on a modern GPU. Example models are included. Please refer to the README.txt in the package for details.

Due to the version of Thrust this program was compiled with, the executable currently only runs on CC 1.x hardware and will fail on CC 2.0 GPUs.

Reflectance Filtering for Interactive Global Illumination in Semi-Glossy Scenes
Executable + data + shader code
Required Qt dlls

This is a demo for our paper entitled "Reflectance Filtering for Interactive Global Illumination in Semi-Glossy Scenes" . It demonstrates the illumination integration from VPLs with reflectance filtering as explained in the paper. Example scenes and textures are provided. Please refer to the README.txt in the package for details on how to run and use the program.

Per-pixel Rendering with Nonlinear Cuts
Executable + data + shader code

This is a demo for our paper entitled "Fast, Realistic Lighting and Material Design using Nonlinear Cut Approximation" . It demonstrates relighting with dynamic BRDFs and lighting with arbitrary per-pixel shading effects such as bump mapping and spatially varying BRDFs. The GUI allows you to change BRDF parameters, per-pixel effects, switch environment (use number keys) , or rotate environments (ctrl+mouse). Example scenes and textures are provided. Please refer to the README.txt in the package.

Visibility cuts
Executable + data + shader code

This is a demo for our paper entitled "Precomputed Visibility Cuts for Interactive Relighting with Dynamic BRDFs" . It demonstrates relighting under dynamic envionrment maps and dynamic BRDFs. The GUI allows you to change material parameters, switch environment (use number keys) , and rotate environments (ctrl+mouse). Due to a glitch, please reduce the exposure to 0.0001 in order to see a properly exposed image. Refer to the paper website for our paper video and additional data.

Real-time Translucency
Executable + data + shader code

This is a demo for our paper entitled "Real-time Editing and Relighting of Homogeneous Translucent Materials" . It demonstrates relighting of translucent objects under dynamic point lights and BSSRDF parameters. The GUI allows you to change material parameters and direct lighting. Refer to the README.txt in the package for usage information. Also take a look at our paper video.

The David ply model is courtesy of Stanford 3D scanning repository.

Robust statistical estimation of curvature on meshes
Executable

This Windows demo executable program estimates curvature for triangle meshes based on the method presented in the paper entitled "Robust Statistical Estimation of Curvature on Surfaces". Within an M-estimation framework, the algorithm is able to reject noise and structured outliers by sampling normal variations in an adaptively reweighted neighborhood around each point.

Simulating the Appearance of Jade
Code (PBRT Plugin)

This is a PBRT plugin for simulating the appearance of jade. The original project page can be found here. The code and data are provided as is. It requires a sample point file (.ssp) which stores the illumination sample points. Unfortunately the program for generating the ssp files are no longer available, but hopefully the code for loading the file can help you figure out the file format.

The dragon ply model is courtesy of Stanford 3D scanning repository.

Courses in computer graphics

CMPSCI 473 - Introduction to Computer Graphics

This course teaches the fundamentals of 2D and 3D graphics. The topics we cover include image processing, curves and surfaces, standard graphics pipeline, transformation, shading, texture mapping, ray tracing and programmable shaders. Students will learn OpenGL and implement fundamental algorithms behind modern graphics techniques. At the end of the course we will cover a broader range of topics including photography basics, HDR imaging, interacting with the physical world, and global illumination.

CMPSCI 474 - Advanced Image Synthesis

This course provides a broad overview of the theory and practice of rendering. Classic rendering algorithms will be covered, however, most of the course will cover current results in physically-based rendering algorithms. Specific topics to be covered include: ray tracing, monte carlo techniques, physically-based reflection models, global illumination rendering, radiosity, path tracing, photon mapping, image and signal processing, textures and texture synthesis, lightfields, camera and film.

CMPSCI 690GC - 3D Modeling and Simulation

This course will teach students advanced algorithms and techniques for three-dimensional modeling, animation and physically based simulation. The course will start by covering the basics of computer animation and digital shape representations, such as polygon meshes, point clouds, NURBS surfaces, and subdivision surfaces. Then it will cover the the basics of differential geometry, surface reconstruction, re-meshing, denoising, parametrization, texturing, shape descriptors, shape segmentation and classification. Then it will cover techniques for interactive shape modeling, sketching and deformations. Finally, it will cover methods for numerical integration and physically based animation of rigid bodies, deformable solids, and cloth.

CMPSCI 691AC - Graduate Seminar on Computational Photography

This course is a convergence between computer graphics, computer vision, image processing, and digital photography. It will discuss three main research areas in-depth: computational illumination, computational optics, and computational image/video processing. Specific topics include basic photography techniques, image-based lighting, high dynamic range imaging, structured lighting, coded aperture imaging, light field photography, image mosiacing, matting, super-resolution, time-lapse video etc.

CMPSCI 691AD - General Purpose Computation on the GPU

Graphics processors (GPUs) on today's commodity video cards have evolved into powerful engines capable of a variety of computations beyond computer graphics. This course takes a detailed look at both basic and advanced topics related to general-purpose computation on graphics hardware (GPGPU). The aim of the course is to provide students with knowledge and hand-on experience in developing applications on modern GPUs using NVIDIA's CUDA programming interface.

CMPSCI 791SU - Machine Learning for Shape Understanding

This seminar provides an overview of the state-of-the-art on shape understanding, shape analysis and synthesis. The seminar will cover topics such as extraction of 3D geometric descriptors and symmetries from shapes, probabilistic models for shape segmentation, retrieval, and reconstruction, 3D template fitting, discovery of structural and contextual relationships of shapes in scenes, generative models of shapes, and applications to 3D modeling.

Research

Sort by: category | date

Sort by: category | date