Title: Computer Graphics CSC 830
1Computer GraphicsCSC 830
2Administrative information
- Who am I? Dr. Ilmi Yoon (TH910), yoon_at_cs.sfsu.edu
- Course web site (csc830_at_thecity.sfsu.edu)
- TA Jun Murakawa
- 5 assignments (indivisual) 1 term project (team
project) Advance topic presentation - Going over syllabus
3Goals for this semester
- Learn the fundamental techniques involved in
computer graphics - Learn the standard computer graphics API and
rendering withOpenGL - Implement 3D rendering pipeline Modeling and
Animation
4What is computer graphics?
- Computer Graphics is making pictures from models
(representation) using the computer
(computational algorithms)
5Why Computer Graphics?
- Movies
- Games
- Simulation
- CAD-CAM
- Architecture
- Virtual Reality
- Visualization
- Medical Imaging
6Movies
7Games
8Simulation
9CAD-CAM Design
10Architecture
11Virtual Reality
12Visualization
13Medical Imaging
14The Graphics Rendering Pipeline
- Rendering is the conversion of a scene into an
image. - The scene composed of models in 3D space.Models,
composed of primitives (points, lines, polygons,
etc), supported by the rendering system. Models
entered by hand or created by a program. (In our
class, models already generated.) - The image drawn on monitor, printed on laser
printer, or written to a raster in memory or a
file. These different possibilities require us to
consider device independence. - Classically, model'' to scene'' to image''
conversion broken into finer steps, called the
graphics pipeline. Commonly implemented in
graphics hardware to get interactive speeds.
15The Graphics Rendering Pipeline
16The Graphics Rendering Pipeline
- A number of coordinate systems are used
- MCS Modeling Coordinate System.
- WCS World Coordinate System.
- VCS Viewer Coordinate System.
- NDCS Normalized Device Coordinate System.
- DCS or SCS Device Coordinate System or
equivalently the Screen Coordinate System.
17Topics in CG - Fundamentals
- Computer Graphics involves a lot of mathematics
(Linear Algebra) - Points, normals and operations on them, dot
product, cross product
18Topics - Transformation
- Transformations Translation, Rotation, Scale
(the basic rigid transformations) - Rotations around an arbitrary axis can be
represented by a set of rotations around the
world axis
19Topics - Transformations
- Other types of transformations Shearing,
Tapering, Twisting, Bending (Deformation)
20Topics - Coordinate Systems
- Transformation between Coordinate systems
- Object, World, Camera, Normalized Device, Window
- Perspective and Orthographic projection
21Topics - Rasterizing Lines
22Topics - Rasterizing Polygons
- Half-space Test
- Scan-line Algorithm
- Crows algorithm
- Flood Fill
23Topics - OpenGL
- Graphics API standard
- Has an Architectural Review board
- OpenGL is a state machine
- OpenGL is a primitive-based renderer (vertices)
- OpenGL is independent of the windowing system
24Topics - Visibility
- Clipping
- Cohen Sutherland, Liang Barsky
25Topics - Visibility
26Topics - Visibility
- Hidden surface removal
- Object Space Algorithms
- Warnock
- BSP
- Portals
- Image Space Algorithms
- Ray casting
- Painters
- Z-buffering
27Topics - Shading
Determining the light traveling from a point in
the scene to the viewers eye
Images courtesy of Watt, Watt Watt, and Foley
van Dam
28Topics -Sampling/Antialiasing
- Problems with undersampling aliasing
29Topics - Texture Mapping
30Topics - Texture Mapping
- Projection texture
- Mip-mapping (image pyramids)
- Environment map(reflective surface), refraction
map, opacity map, illumination map, bump map,
displacement map - 3D Textures (via noise and turbulence)
31Topics - Shadows
Accentuate 3D effects
32Topics - Surfaces
- Representing smooth surface geometry using a
finite set of control points and a set of basis
functions - Bezier Curves, B-Splines, Uniform B-splines,
Non-uniform B-splines, Non-uniform Rational
B-splines (NURBS), Subdivision curves and
surfaces, Implicit Surfaces.
33Topics - Surfaces
424,376 faces
60,000 faces
34Topics - Surfaces
35Topics - Animation
Zelda (GameCube) Realtime animation
36Topics - Animation
Pixar movies
Offline Animation
37Topics - Advanced Rendering
- IBR (Image-based rendering)
- Light Field Rendering
- NPR (Non-Photorealistic Rendering)
38Topics
- And many more.
- What do you want to learn?