Computer Graphics

CSCI 440, Spring Semester, 2013

 

Instructor:   Dr. Shieu-Hong Lin       LinEmail

Class website:   http://csci.biola.edu/csci440graphics

Class time:        T Th   12:00-1:15 at BUSN 209

Office Hours:    Tuesday & Thursday    3:00-4:00 pm

 

Course objectives: 

²  Study the fundamental principles for modeling 3-dimensional objects and generating photorealistic renderings efficiently.

²  Develop a solid understanding of how modern graphics software systems are built upon concepts in optics, photometry, algebra, geometry, algorithms, and data structures.

²  Learn OpenGL as a graphics application programming interface and apply it to implement elementary 3D graphics programs.

²  Design and implement a 3D virtual world that allows the user to walk through and interact with the 3D environment.

 

Books:

1.     OpenGL Architecture Review Board et al. OpenGL Programming Guide: The Official Guide to Learning OpenGL (7th ed.). Addison-Wesley, 2009.

2.     OpenGL Architecture Review Board et al. OpenGL Reference Manual: The Official Reference Document to OpenGL (4th ed.). Addison-Wesley, 2004.

3.     Edward Angel. OpenGL: A Primer (3rd ed.). Addison-Wesley 2008.

4.     T. Akenine-Moller and Eric Haines. Real-Time Rendering (2nd ed.). A. K. Peters, 2004.

5.     Edward Angel. Interactive Computer Graphics: A Top-Down Approach Using OpenGL (4thEdition). Addison-Wesley 2006.

6.     P.J. Schneider and D. H. Eberly. Geometric Tools for Computer Graphics. Morgan Kaufmann, 2003.

7.     Richard Szeliski. Computer Vision: Algorithms and Applications. Springer, 2010.

 

 

 

Grading:

²  Weekly reading & participation                               15%           

²  Programming assignments                                       40%           

²  Midterm                                                                             15%

²  Final project                                                             30%

 

Tentative schedule of subjects to cover

Weeks 1~7

Introduction

Overview of graphics systems, graphics devices, graphics programming.

Graphics Programming

OpenGL, graphics primitives, viewing, event-driven I/O, GL toolkit, frame buffers.

Geometric Programming

Review of linear algebra, affine geometry, (points, vectors, affine transformations), homogeneous coordinates, change of coordinate systems.

3-d transformations and perspective

Scaling, rotation, translation, orthogonal and perspective transformations, 3-d clipping.

Light and shading

Diffuse and specular reflection, phong and gouraud shading.

Week 8: Review & Midterm

Weeks 9~15

Using Images

Texture-, bump-, and reflection-mapping.

Implementation Issues

Rasterization, clipping.

Ray tracing

Ray-tracing model, reflective objects, shadows, light transport and radiosity.

Hidden surface removal

Back-face culling, z-buffer method, depth-sort. 

Modeling

Hierarchical models, fractals and fractal dimension.

Curves and Surfaces

Representations of curves and surfaces, interpolation, Bezier, B-spline curves and surfaces, NURBS, subdivision surfaces.