Course Syllabus
Course:
CIS 665 Real-Time Graphics Architecture Techniques
Meeting Times: Mondays 6-9pm
Instructor:
Gary J. Katz
gkatz@seas.upenn.edu
Office Hours:
Place: Will be held in HMS lab.
Time: By Appointment
TA:
Joe Kider
kiderj@seas.upenn.edu
Office Hours 3 - 4:30pm Thursday in
HMS
(lower part of the lab or
conference room) or email for appointment
Prerequisites: CIS 462/562, CIS 560. Students are also expected to have a working knowledge of C or C++.
Text: Most
reading material will be taken from papers and articles that will be handed out
during the term. Books to be referenced are listed below:
Shader X3
Shader X4
Shader X5
GPU Gems I
GPU Gems II
Suggested Text:
The CG Tutorial
Grading: The course will be based upon 3-4 assignments and one final
project
Course Objectives:
- Students will gain an understanding of the current state of art in
programmable graphics cards. Students will learn how the graphics pipeline
has developed overtime and gain an understanding of where programmable
graphics is moving in the future.
- Students will learn to program the graphics pipeline using high
level languages such as HLSL or CG. The goal is to provide the student
with programming experience with streaming processor languages despite
current active development of such languages.
- The course will provide an introduction into various graphics
effects that are being performed on graphics cards for today’s games. The
goal is to start to fill the student’s ‘toolbox’ of techniques and provide
an understanding for the implementation of game rendering and animation
algorithms being performed on GPUs.
- The course will cover some general purpose applications for the GPU
(GPGPU). GPUs are many factors faster than
current CPUs. For this reason they are being applied to many applications
far removed from graphics.
Lectures:
- 1/8/06
- Opening GPU Programming and Architecture
- Understanding the Graphics Pipeline
- HOMEWORK 1
- 1/22/06
- The Programmable Pipeline
- CG
- Ping Ponging
- HOMEWORK 1 Due
- HOMEWORK 2
- 1/29/06
- VBO, PBO
- Transferring textures from Pixel Buffer to
Vertex Buffer
- Reflections on bumpy surfaces
- Rendering semitransparent layered material
- 2/5/06
- Sorting and Searching
- Matrix Operations
- HOMEWORK 2 DUE
- 2/12/06
- DirectX 10
- CUDA
- HOMEWORK 3
- 2/19/06
- Morphing and Animation
- Skin Rendering
- 2/26/06
- Shadows
- Slab Ops
3/2/06 Homework 3 Due
- 3/5/06 NO CLASS Spring Break
- 3/12/06
- Physics
- Collision Detection
- BEGIN STUDENT PROJECTS
- 3/19/06
- Guest Lecture Mike Hakos,
Modeling and Simulation
- Particle Systems
- 3/26/06
- FFT
- Optimizations
- 4/2/06
- Parallax Mapping
- Guest Lecturer Milo
Martin, Cell Processor
- Project Check Up
- 4/9/06
- Real-time Global Illumination
- 4/16/06
- Hair Rendering
- Future Trends