Laser Video Displays (Laser TVs)
Introduction
A laser video display is a relative new back-projection technology that aims to replace
conventional lamps used in current setups. It uses lasers instead as the light source, which
improves the lifespan of the

Directional occlusion
Lambertian Surface
Obeys Lamberts Law (from physics):
The color, c, of a surface is proportional to the
cosine of the angle between the surface normal and
the direction of the light source , recall that
c cos
n l =| n | l | cos , if

Computer Animation
Algorithms and Techniques
Kinematic Linkages
Objectives
Implement hierarchical kinematics.
Compare and contrast forward and backward
kinematics
Explain the role of the Jacobian in IK.
Implement numerical iterative IK using the
trans

CS 455 - Computer Graphics
Ray Tracing Part I - The
Basics
Ray Tracing
What is ray tracing?
Follow (trace) the path of a ray of light and model how it
interacts with the scene
When a ray intersects an object, send secondary rays
(reflection, shadow, trans

CS 455 Computer Graphics
Ray-Object Intersections
Implicit and Parametric Forms
Implicit form
f(x,y) = 0 example: y 3x + 2 = 0 is a line.
The curve/line/plane/whatever exists at values of f(x,y) that
equal 0.
To find the curve/line/plane/whatever plug in

Ray-Triangle Intersections
CS 455
Quick Recap
Ray-triangle intersections
Calculate the implicit from of the plane
containing the triangle.
Determine if the ray strikes the plane and
if so, where in the triangle does it strike the
plane?
Ray-triangle inter

CS 455 Computer Graphics
BSP Trees
Objectives
Learn how to build and read BSP Trees
Know how to use BSP trees in several applications
Hidden surface removal
Figuring out where the camera is.
Collision detection
Has applications in optimized ray tracers

CS 455 Computer Graphics
Fractals in Graphics
Texturing with Images
Texture maps with images are good because images are
(sometimes) easy to create.
In some cases, just taking a picture is easier than
writing a program to generate the picture.
But
Ima

Level Of Detail in Texture
Mapping
CS 455
Curious Warning in an XNA
build
Content\maps\dcmap_orchid_pink_27.jpg : warning : Mipmapped
texture will not work on all graphics cards. This image is sized
256x205, but many cards do not support mipmapped texture

Global Illumination
CS 455
Objectives
Compare and contrast local and global
illumination
Compare and contrast several approaches
to global illumination
Radiosity
Path tracing
Monte Carlo methods
Appreciate the complexity of light.
Global vs Local Illumina

Texture Mapping
(Some Images from Rosalee Wolff)
Texture Mapping
Problem with shading models:
-they assume that a diffuse surface has uniform reflectance
This is okay for walls or pool balls, but not most objects
We could add geometric complexity
- BAD! T

CS 455 Computer Graphics
Curves
Parametric Function Complexity
We need functions that give us enough flexibility to
represent interesting surfaces
We want to keep the complexity reasonable
We will work primarily with 3rd order (cubic)
polynomials
lower de

Global Illumination Wrapup
CS 455
Dangling Questions
Depth of field in ray tracing.
Combinations of radiosity and ray tracing
Progressive radiosity.
Depth of Field
Idea: the camera (or eye) should have a
fixed focal length
Objects at that distance should

Computer Animation
Objectives
Define animation (as a branch of computer
graphics)
Compare and contrast
Keyframing
Inverse Kinematics
Motion capture
Simulation
Animation
Making stuff move
Almost anything thats a function of time.
Keyframing
Animator define

GPUs and GPGPUs
CS 455
Objectives
Differentiate between integrated and
discrete or dedicated memory on the GPU.
Design algorithms for the GPGPU.
GPUs
CPU
GPU
Memory
Shared, or integrated
architecture.
CPU
GPU
Memory
Dedicated memory.
GPUs
CPU
GPU
Memory
C

CS 455 Computer Graphics
Surfaces
Parametric Bicubic Surfaces
An extension to curves by adding another
dimension
t = 1.0
t = 0.8
t = 0.6
t = 0.4
t = 0.2
t = 0.0
s = 0.0
s = 0.2
s = 0.4
s = 0.6 s = 0.8
s = 1.0
Curve Equation
Remember, the equation of the

CS 455 Computer Graphics
Shadows
Shadow Determination
What is shadow determiniation?
Determining if a point (on a surface or otherwise) can be seen
by a light source.
Types of shadows:
Hard/sharp:
- Point and directional light sources
- Point is either

CS 455 Computer Graphics
Illumination & Shading
What is a Shading Model?
A way to paint the object with light
We will discuss the common, heuristic shading models:
Diffuse
Gouraud
Phong
Not physically based: hacks that work well in practice and
are com

CS 455 Computer Graphics
Color
What is Color?
Color is the spectra of light being perceived by some
the human visual system
Light is electromagnetic energy in the 400 to 700 nm
wavelength range of the electromagnetic spectrum
Direct: light reaching the

CS 455 Computer Graphics
Introduction
Course Content
How to draw a triangle
How to draw lots of triangles
Transforms
Ray tracing
IK solver
Write a game
Making movies
Prerequisites
Programming assignments:
C+, C# or Java
A graphics API. We support XNA
Math

CS 455 Computer Graphics
Introduction to OpenGL
OpenGL
A Cross-Platform Graphics Language
A library of routines for creating 2-D and 3-D graphics and
animation
You create a program that makes calls to the OpenGL
library to perform the graphics you need.

CS 455 Computer Graphics
Polygon Scan Conversion
Filling Polygons
Need to fill the frame buffer.
Want more than just line drawings
Want to fill polygons!
Rasterization takes a primitive (e.g., a triangle description)
and determines which pixels to illumin

CS 455 Computer Graphics
Background Mathematics
Set Notation
aS
object a is an element of set S
A B
Cartesian product of sets A and B, i.e., the set that contains all
ordered pairs (a, b) such that a A and b B.
Sets of interest:
: the set of real numb

CS 455 Computer Graphics
Line Drawing
Line Drawing
Scan-conversion or rasterization: Determining which
pixels to illuminate - due to the scanning nature of raster
displays.
Algorithms are fundamental to both 2-D and 3-D
computer graphics.
Transforming

CS 455 Computer Graphics
Clipping
Shadow maps, or, why Z buffers matter
From http:/en.wikipedia.org/wiki/Shadow_mapping
Project 2 Projection Comparison
Perspective
Parallel (and
orthonormal)
Line Clipping
What happens when one or both endpoints of a line

CS 455 Computer Graphics
Z-buffering, or, Interpolating other things
across a triangle.
(3,7,0)
(1,4,6)
(2, 5)
Math Problem of the Da
(5,2,3)
(3,7,0)
(1,4,6)
(2, 5)
Math Problem of the Da
(5,2,3)
Math Problem of the Day
What is the depth at (2,5)? Whats

CS 455 Computer Graphics
Antialiasing
Aliasing
Aliasing: a high-frequency signal masquerading as a low
frequency
Actual (high-frequency) signal
Sampling
Interval
Sampled (aliased) signal
Caused by insufficient sampling (sampling interval too large)
Examp

CS 455 Computer Graphics
Viewing Transformations I
Motivation
Want to see our virtual 3-D world on a 2-D screen
Graphics Pipeline
Model Space
Model Transformations
World Space
Viewing Transformation
Eye/Camera
Space
Projection & Window
Transformation
Scre