CS448A Final Project

Project Presentations

You have 10 minutes for your presentation followed by 5 minutes of questions. Please email the TA if you have a scheduling conflict.

2:30 Compression
Mike Houston, Kok-Wei Koh
2:45 Polygon Rasterization
Jaeha Kim, Jung Ho Ahn
3:00 Unwired A Wireless Graphics Architecture
Philipp Schloter, Pradeep Sen
3:15 Texture Caches for Multitexturing
Francois Labonte, David Lie
3:30 Displacement Mapping
Huat Chye Lim
3:45 Programatically Interpolated Curved PN Triangles
Keith Ito
4:00 Break. Food and drinks will be served.
4:15 Exploring the Performance of the Reyes Rendering Pipeline on the Imagine Stream Processor.
Brucek Khailany, Brian Towles
4:30 The Road to Renderman in Hardware
Jonathan Ragan-Kelley, Ujval Kapasi
4:45 An Examination of Shadow-Generation Techniques
Rahul Gupta, Ming Tam, Yar Woo
5:00 Evaluation of Shared and Hierarchical Caches in a Parallel Multi-texturing Rendering System
Ken Mai
5:15 Compiling for Optimal Multipass Rendering
Yi-Ren Ng
5:30 Persistent State in Programmable Shaders
Andrew Robbins


GLSim OpenGL implemenation and GLTrace now available.

Project Proposals


The purpose of the final project is to investigate in more depth the design and implementations of graphics architectures. The research project should be done in groups of two (although you may work independently if you wish); larger groups are possible although the project should be much more ambitious. This is meant to be a research project, and the work should be novel, creative and of high quality. The final deliverable will be a 8-12 page paper written as a conference paper submission.


Project Proposal

As a first step you should write a one page project proposal. The project proposal should be in the form of a web page. To submit the project proposal, send the url to cs448a@graphics This is due Monday, Nov 5th

The proposal should motivate the problem you are attacking and why it is interesting, state the goal of your project, identify the key technical challenges you will face, and outline your technical approach. If you plan on collaborating with others, identify your partners and briefly describe how each person's piece relates to the others. Provide references to previous work and survey what has already been done.

We will provide feedback as to whether we think your idea is reasonable, and also try to offer some technical guidance, e.g. additional papers you might be interested in reading.

Suggested Topics

To get you started, here are some topics that we think deserve more research.


The final project will count 3/4 (or more, if based on our judgement, we consider the project truly outstanding) towards your final grade in the course. We will consider strongly the novelty of the idea (if it's never been done before, you get lots of credit), the methodology you employ in doing the research, and your technical skill in implementing the idea, A high grade is roughly equivalent to a recomendation from us that you continue to pursue your work and submit it to a conference for publication. Mega-lines of code does not make a project good.

You are permitted to work in small groups, but each person will be graded individually. A good group project is a system consisting of a collection of well defined subsystems. Each subsystem should be the responsibility of one person and be clearly identified as their project. A good criteria for whether you should work in a group is whether the system as a whole is greater than the sum of its parts!


We will provide you with a OpenGL tracing program to record and playback OpenGL scenes and will provide some example scenes.  For projects which require modification of the graphics pipeline, we will provide a straightforward software implementation of OpenGL which you are free to modify.  With these tools, you should be able to playback OpenGL traces through your modified pipelines to ensure correctness and evaluate the effectiveness of your designs.