|
Patrick Cozzi
Previous Coursework
|
|
My advisor is Dr. Stephen Lane. My thesis advisor is Dr. Norman Badler.
Interests
I am primary interested in real time computer graphics, in particular
MS Thesis - Visibility Driven Out-of-Core HLOD Rendering
Thesis Committe

a) Subdivision of Happy Buddha. See section 5.4.
b) HLODs for the Stanford Bunny. See section 3.3.
c) Occlusion culling in Pompeii. See section 7.4.
d) HLOD refinement with a subset of children in memory. See section 6.3.
Abstract: With advances in model acquisition and procedural modeling, geometric models can have billions of polygons and gigabytes of textures. Such model complexity continues to outpace the explosive growth of CPU and GPU processing power. Brute force rendering cannot achieve interactive frame rates. Even if these massive models could fit into video memory, current GPUs can only process 10-200 million triangles per second. Interactive massive model rendering requires techniques that are output-sensitive: performance is a function of the number of pixels rendered, not the size of the model. Such techniques are surveyed, including visibility culling, level of detail, and memory management. In addition, this work presents a new out-of-core rendering algorithm that is demonstrated with a variety of HLOD rendering algorithms.
Videos
Read the thesis. (1,283 KB)
Visit the outdated wiki.
Professional Information
I'm a 3D Software Engineer at Analytical Graphics, the best company to work for in America. I've written code for battlespace visualization, Globeserver, analytical terrain and a few other areas. Download a free copy of our software or apply for a full-time position or internship.
I've worked on many interesting 3D problems at AGI including hierarchal culling algorithms, level of detail, triangulation, subdivision surfaces, shadow volumes and software architecture.
Visit our 3D team's blog: blogs.agi.com/pointbreak/
Projects - Ray Tracer
For CIS 560, I implemented a ray tracer with several rendering effects:
The Ray Tracer Details page describes the software architecture and the effects. Can you figure out what effects were used in the following screen shots?
![]() |
![]() |
The image on the right was featured on the cover of the lecture slides bulk pack for CIS 560 in the Fall of 2007.
Projects - Textured Fill on Terrain
For CIS 665, I implemented textured fill on terrain using a combination of vertex, geometry and fragment programs and shadow volumes. Details are here. This project was also mentioned in the cg@penn newsletter.

Projects - Gamma-ton Tracing
For CIS 660, I implemented a Maya plugin that performed multi-textured weathering effects based on the 2005 SIGGRAPH paper Visual Simulation of Weathering by Gamma–ton Tracing from Microsoft Research. The algorithm works similar to photon mapping. It computes a data structure that is used to blend the original texture with the weathered texture.

Projects - Parallel Processing City Models for Real-time Visualization
For CIS 505, I worked on this research project.
Abstract: We present a parallel algorithm for creating hierarchical levels of detail (HLODs). Our algorithm exploits two orthogonal degrees of parallelism. First, polygonal simplification executes on separate nodes in parallel. In addition, subtrees are processed and spatially subdivided in parallel. We demonstrate our algorithm with a multi-threaded C++ implementation that takes advantage of multicore processors.
Download the entire paper (400 KB).
Undergrad
I was an intern in IBM's Extreme Blue program. We developed an archival storage solution, which we presented to Sam Palmisano. Computerworld interviewed me about it. We were recently awarded a patent for some of our work. Before Extreme Blue, I was an intern in IBM's z/VM Operating System group. I did some Linux kernel development and co-authored a paper on a test tool, which is available for download. Early in my college career, I was a System Validation Engineer Co-op at Intel. I developed internal software tools to aid in chipset validation, one of which became quite popular.
I have a B.S. in Computer Science from Penn State, with a minor in Engineering Leadership Development. For an independent study, I designed a super scalar subset of an 80x86 processor. I also wrote two well received articles on using pointers in C++ (first article, second article).
Other interests