CS 445: Introduction to Computer Graphics - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

CS 445: Introduction to Computer Graphics

Description:

Composing xforms. Multiplying matrices know the correct order! Be able to compose a rotation ... Be able to compose rotation & translation matrices ... – PowerPoint PPT presentation

Number of Views:102
Avg rating:3.0/5.0
Slides: 32
Provided by: davidp93
Category:

less

Transcript and Presenter's Notes

Title: CS 445: Introduction to Computer Graphics


1
Review
  • CS 445 Introduction to Computer Graphics
  • David Luebke
  • University of Virginia

2
Admin
  • Course evaluations please do during class today
    (available on Toolkit)

3
Math
  • Mathematical foundations
  • Vector arithmetic
  • Affine spaces points, vectors, scalars
  • Parametric representation of a line/ray/segment
  • Dot product, cross product
  • Matrix-matrix and matrix-vector arithmetic

4
Display technologies
  • CRTs
  • Underlying technology
  • Vector vs. raster
  • Framebuffer, pixel, scanline, rasterize
  • LCDs
  • Underlying technology
  • Pros cons
  • Other dont need to know details
  • Plasma display
  • OLED

5
Rendering pipeline
  • Know the various stages
  • Transforms
  • Modeling
  • Camera
  • Projection
  • Illuminate
  • Clip
  • Homogeneous divide
  • Rasterize
  • Be able to reason about which stages go where

6
(No Transcript)
7
Transformations
  • Modeling transforms
  • Object?world coords
  • Common xforms
  • Translate
  • Rotate
  • Scale (uniform vs. nonuniform)
  • Composing xforms
  • Multiplying matrices know the correct order!
  • Be able to compose a rotation matrix about an
    arbitrary axis
  • Be able to compose rotation translation
    matrices

8
Transformations
  • Homogeneous coordinates
  • Homogeneous coordinate akin to a scale factor
  • Homogeneous points vs. vectors
  • Enables translation, projection
  • Projection transforms
  • Uses the homogeneous coordinate
  • Be ready to reason about simple projection xforms

9
OpenGL
  • Specifying transforms
  • Understand how to use the matrix stacks
  • GL_MODELVIEW
  • GL_PROJECTION
  • Understand the principles of hierarchical
    transforms
  • Nest xforms
  • Functions shouldnt have side effects
  • Understand the concept of a scene graph

10
Clipping
  • 2D Cohen-Sutherland
  • Outcodes how to use them
  • Clipping a line segment to an edge
  • 3D Sutherland-Hodgeman
  • Clipping in the graphics pipeline

11
Rasterization
  • Line rasterization
  • DDA
  • Optimization strategies
  • Triangle rasterization
  • Edge walking
  • Edge equations
  • Polygon rasterization
  • Parity test
  • Active edge table

12
Color
  • Physiology of the eye
  • Cornea, lens, retina
  • Photoreceptors
  • Rods (low light, luminance) vs. cones (high light
    levels, color)
  • Color-sensitivity of cones S, M, L (B, G, R)
  • Density fovea (high spatial resolution, all
    cones) vs. periphery (low spatial resolution,
    largely rods)
  • Metamers different spectra with the same
    perceptual response
  • E.g., a monochromatic orange light (spectral
    spike) vs. combinations of red, green, tiny bit
    of blue same perceived color!
  • Color gamuts and CIE chromaticity diagram

13
The Human Visual System
  • The human visual system has four types of
    sensors rods and S, M, and L cones

sensitivity
rods
100
10
cones
L
1
M
Courtesy Nathaniel Hoffman
0.1
?
0.01
S
14
The Human Visual System
  • Rods are the most sensitive
  • Used in weak illumination (scotopic) conditions
  • Sensitivity peaks at cyan (blue-green)
  • Only one kind monochromatic vision
  • Cones enable color vision
  • Used in strong illumination (photopic) conditions
  • Total sensitivity peaks at yellow-green
  • Three kinds trichromatic vision

Courtesy Nathaniel Hoffman
15
The Human Visual System
  • Trichromatic vision enables us to somewhat sense
    the spectral distribution

sensitivity
1
L
M
0.5
?
0.25
S
0.1
Courtesy Nathaniel Hoffman
16
Metamers
  • A spectral power distribution is an
    infinite-dimensional signal.
  • Since we perceive color only as a
    three-dimensional signal, there is an infinite
    number of different spectral power distributions
    which map onto the same perceived color.
  • These are known as metamers.

Courtesy Nathaniel Hoffman
17
Metamers
spectral locus
600nm
700nm
500nm
white
more yellow
480nm
470nm
more blue
more red
more green
400nm
Courtesy Nathaniel Hoffman
18
Metamers
spectral locus
600nm
700nm
500nm
white
more yellow
480nm
470nm
more blue
more red
more green
400nm
Courtesy Nathaniel Hoffman
19
Metamers
spectral locus
600nm
700nm
500nm
white
more yellow
480nm
470nm
more blue
more red
more green
400nm
Courtesy Nathaniel Hoffman
20
Metamers
spectral locus
600nm
700nm
500nm
white
more yellow
480nm
470nm
more blue
more red
more green
400nm
Courtesy Nathaniel Hoffman
21
Lighting
  • Illumination models
  • Global vs. local illumination models
  • Empirical vs. physically based
  • Know and understand the Phong model
  • Local, empirical, implemented in OpenGL
  • Ambient, diffuse, and specular terms
  • Shading flat vs. smooth (Gouraud) vs. Phong

22
Phong LightingOpenGL Implementation
  • The final Phong model as we studied it
  • OpenGL variations
  • Every light has an ambient component
  • Surfaces can have emissive component to
    simulate glow
  • Added directly to the visible reflected intensity
  • Not actually a light source (does not illuminate
    other surfaces)

23
Visibility in the small
  • Painters algorithm
  • Z-buffer
  • BSP trees organize all of space (hence
    partition) into a binary tree
  • Preprocess overlay a binary tree on objects in
    the scene
  • Runtime correctly traversing this tree
    enumerates objects from back to front
  • Idea divide space recursively into half-spaces
    by choosing splitting planes
  • Splitting planes can be arbitrarily oriented
  • Notice nodes are always convex

24
Visibility in the large
  • View-frustum culling
  • Cells portals (architectural/urban models)
  • Cells form the basic unit of PVS
  • Create an adjacency graph of cells
  • Starting with cell containing eyepoint, traverse
    graph, rendering visible cells
  • A cell is only visible if it can be seen through
    a sequence of portals
  • So cell visibility reduces to testing portal
    sequences for a line of sight
  • Occlusion query (modern hardware)

25
Texture mapping
  • Establishing correspondences (parameterization)
    texture coordinates
  • Interpolating texture coordinates in screen space
    during rasterization
  • Texture map antialiasing
  • know MIP-mapping, be aware of others
  • Related to antialiasing subject prefiltering
  • Applications of texture mapping
  • Bump mapping, gloss mapping, displacement
    mapping, light mapping

26
Modern GPUs
  • Programmable GPUs
  • Programmable vertex fragment engines
  • Render to texture
  • Floating point precision
  • Programming model stream computing
  • Registers zeroed out, no accumulators across
    vertices/fragments
  • Lends itself to efficient parallel implementation
  • Cg language

27
GPGPU
  • Trends GPUs fast, getting faster faster
  • Approach data as textures, computational kernels
    as fragment programs
  • Advance simulation step-by-step using
    render-to-texture

28
Ray tracing
  • Basic algorithm recursive ray tracing
  • Reflection
  • Refraction
  • Shadows
  • Ray-primitive intersection
  • Be able to reason about common primitives, or
    figure out a new intersection test
  • Acceleration structures

29
Antialiasing
  • Reason at a high level about what aliasing is and
    how we can prevent/mitigate it
  • Basic signal theory behind Nyquist limit
  • Supersampling pros and cons
  • Prefiltering pros and cons
  • Stochastic supersampling high freqs ? noise, not
    aliases

30
LOD
  • Basic concept (easy)
  • Discrete vs. continuous vs. view-dependent pros
    and cons

31
Shadows
  • Basic concept of shadow volumes
  • Stencil buffer
  • Problem case clipping
Write a Comment
User Comments (0)
About PowerShow.com