ECE 495E - Fundamentals of Computer Graphics
Note:
This course meets with CS 334.
Details on the Course Projects
Students are assigned a series of four projects using the OpenGL graphics standard API. The projects can be done in C/C++ on any platform (Unix, Linux, Windows). The projects will involve implementation of the topics in the class using the graphics API that will actually implement most of the low-level programming for the students. These projects will give students a high-level introduction to graphics programming. The students will also be assigned 3 projects using the Renderman shading language [Renderman is the standard high-level shading language used in the movie effects industry for photorealistic rendering] to give them experience implementing more advanced topics from the class.
Course Details
Lecture Hours: 3 Credits: 3
This is an experiential learning course.
Counts as:
Experimental Course Offered:
Spring 2004, Fall 2004
Catalog Description:
This course will cover basic and advanced principles of interactive computer graphics: raster graphics, color models, anti-aliasing and texture, image-space and object-space methods, 3D homogeneous coordinates, perspective, illumination models, depth cueing, hidden line elimination, morphing and other techniques.
Required Text(s):
- Interactive Computer Graphics: A top Down Approach Using OpenGL , 3rd Edition , Ed Angel , Addison-Wesley , 2002 , ISBN No. 020-185-5712
Recommended Text(s):
None.
Learning Outcomes:
- an understanding of the design issues for creating raster graphics. [b,c,j,k]
- an ability to apply rendering techniques to an actual computer graphics problem and associated datasets. [a,c,e,k]
- an understanding of object transformations, representations, transformations, and perspective projections. [a]
- an understanding of color, illumination, and shading techniques. [a]
- an understanding of the rendering and rasterization techniques. [a]
- an understanding of the application of computer graphics techniques to visualization, animation, and computer aided design. [j,k]
Lecture Outline:
Week(s) | Topic(s) |
---|---|
1-2 | Brief overview of computer graphics and architecture (rendering pipeline), graphics software, and graphics applications. Introduction to the OpenGL library, example programs. |
3 | Raster basics: drawing lines and circles, clipping algorithms, polygon intersection. Alias effects, techniques to counter them. |
4-5 | From the scene to image: Objects, transforms, color and illumination models, polygonal object representation, texture maps, view port clipping, rasterization. |
6-7 | Perspective and projection, affine and projective coordinates, rigid body motions. Object manipulation, concepts from projective geometry. |
8-9 | Color perception and color models, local illumination, ambient, diffuse, and specular light models. Material properties. Gouraud and Phong shading. |
10-11 | Basic ray tracing, direct and indirect illumination, reflection and refraction. Constructive Solid Geometry (CSG), ray tracing CSG models. |
12-13 | Object geometry: polygon mesh, implicit surfaces, parametric curves and surfaces. Modeling with implicit surfaces. Construction of polygon meshes. |
14-15 | Survey of basic tools and techniques for animation, scientific visualization, and computer-aided design. |
Engineering Design Content:
- Analysis
- Construction
- Testing
Assessment Method:
The course outcomes will be assessed through student submission of working programs and two (2) in class examinations.