Note: This page is a copy of information submitted to the GSoC 2009
While at present I am a graduate student in Computer Graphics my life has only been on that path for the past 5 years. I received my BA in music from Butler University in Indianapolis in 2002 and my MS in Computer Science from the University of Minnesota in 2006. I studied as a singer and musician for the better part of 10 years culminating in my graduation from Butler and receiving my degree in music. I have performed in many amateur theater productions and musicals both with my secondary and collegiate schools and with community theater groups. This aesthetic nature of my past has drawn me to the field of computer graphics and the tangible visual output that results. My involvement with computer graphics and real-time rendering resulted in my discovery of the subtleties of photography and learning about environment map based rendering and the light probe work of Paul Debevec spurred a love of full spherical panoramic photography. It complements my work in computer graphics and it fuels my aesthetic half with beautiful, compelling imagery.
Currently I live in Minnesota with my wife Monica and my 10 month old son Christopher working as a doctoral candidate with the computer graphics group at the university. In my research, I am interested in extending the range of computer based tools for technical design and engineering for use in designing aesthetic properties and components. My work focuses on tools for the early, conceptual phases of the design process with interests extending to numerical color harmony, computer based musical analysis and music visualization. Within the discipline of computer graphics I work primarily in photographic acquisition of reflection properties, acquisition of environments for use in rendering and real-time, photorealistic rendering using modern computer hardware.
Technical Background & Experiences
Since starting my graduate career I have pursued one major research project and a few smaller, related side projects.
The Wall of Inspiration (Early 2005 - Early 2008)
The Wall of Inspiration was a research project undertaken by my academic adviser Gary Meyer. It was conceived and funded by Prof. Meyer and Benjamin Moore & co. My responsibility on the project was software development for which I was the main and only contributor. The software was a real-time rendering engine written in C++ and OpenGL using Cg for lighting. The rendering was done in HDR and used pre-filtered environment mapping to simulate paint effect such as gloss and metallic sheen. This project has been published in the proceedings of CGIV 2008 and more information is available (including videos of the program) at the following web site:
The Cloak Wall (Fall of 2007)
The cloak wall was a partnership between Prof. Meyer, HouMinn architectural firm and myself. We created a tool for interpolating metallic paint colors across the surface of a special wall developed by Mark Swackhammer and his partner. The tool itself was created to work in tandem with software that was already written and being used internally by Prof. Meyer and my colleague Clement Shimizu. My contribution was the algorithm for interpolating metallic colors which are fundamentally different from solid colors. They present a different tristimulus value depending on the viewing angle and so the entire range of colors through the possible angles must be interpolated consistently. This project was published in the proceedings of the ACADIA 2008 conference. The paper (including many diagrams of the rendering and the interpolating interface) is available at the following link
Inteligent Ground Vehicle Competition 2007
I participated in the 2007 meeting of the Intelligent Ground Vehicle Competition (IGVC) where two mechanical engineering graduate students and myself represented the University of Minnesota - Twin Cities campus. We placed fourth overall in the competition and earned second place in the main event.
My contribution to the project was a real-time vision system for detecting chalk lines painted on the grass of the main obstacle course. The system employed a DV camcorder capturing 480p video at 30fps. This video was fed through a chain of filters written in OpenGL and implemented with Cg. Each filter stage rendered to a texture using the OpenGL framebuffer extension. We experimented with many filters including basic color thresholds, gaussian blur, canny edge detection and even the hough transform. In the end, careful calibration of our camera and it's fish-eye lens resulted in a robust vision system that led our vehicle to a second place finish in the obstical course event. Previous teams from the U of M often did not qualify or did not place in the top 20.
Technical Skills & Experience
I have completed the equivalent of a Computer Science BS & MS and as such have a solid theoretical foundation in computers and software engineering. My experience on industry projects like the Wall of Inspiration have given me an appreciation for the importance of developing the requirements and planning a software project prior to any coding.
My computer and mathematical experiences include:
- Very experienced in OpenGL, GLUT, Cg, GLSL and general graphics algorithms
- Basic knowledge of Qt GUI programming & Qt Eclipse integration
- Experienced with Matlab and some LabVIEW
- Good Numerical Methods foundation with some practical experience
- Mac OS X 10.5 w/ Apple GNU Toolchain & Eclipse IDE, 15" MacBook Pro, 2.4 GHz Core 2 Duo, 4G mem, NVIDIA GeForce 8600M GT
- Win XP Pro w/ Visual C++ & VS .net, 2k5 or 2k8 OR MinGW & Eclipse IDE
- Other *nix platforms (Ubuntu & Solaris in particular) using basic GNU toolchain from shell
I have taken a course in basic film photography focusing on manual exposure settings, aftifacts like depth-of-field and focal planes, use of zoom and macro photography and ending with basic photographic composition. I own and have worked mostly with digital cameras but my education is with convential film cameras.
- Primary camera: Canon PowerShot Pro1 w/ fixed lens
- Panoramic Setup: Raynox 185 degree fish-eye conversion lens on home-made wooden nodal mount
I also have access to a Fuji S5 Pro but do not have a wide angle lens or pano mount for it yet.
I originally started making panoramas as an alternative to the light probe approach to creating environment maps for rendering. Light probes are images of chrome spheres that show all incident light for a single point and require only re-projection to create a panorama and no stitching. However, the resolution of these images is much lower and the quality of your chrome ball greatly effects the quality of your pano. Ultimately, I concluded that a camera with a fish-eye would be significantly better than the light probe technique. Not long after buying my Raynox lens and Pro1 I discovered panotools and Hugin and the rest is history.
Some examples of my HDR environment maps created with the above equipment except where indicated (all stitched with Hugin 0.6):
- The main lobby of Walter library at the UofM (JPEG, HDR)
- The Ford exhibit on the floor of the Detroit auto-show (photographed by Gary Meyer and stitched by myself) - (JPEG, HDR)
- Goldstein Museum of Design at the UofM St. Paul campus (LDR Only) - First view, Second view
Some examples of my panoramas: