Download presentation source

Download Report

Transcript Download presentation source

CS 551/651:
Advanced Computer Graphics
David Luebke
[email protected]
http://www.cs.virginia.edu/~cs551dl
David Luebke
1/19/99
Administrivia

Hand out syllabus
– Instructor/TA coordinates
– Topic list
– Prereqs
– Textbook
– Assignments
– Grading & Honor Code
David Luebke
1/19/99
Administrivia

Hand out bio sheet
– Front: for me to calibrate the course
– Back: for me to get to know you

Realistically, you should probably
have 3’s and 4’s on the front sections
David Luebke
1/19/99
Questions?
David Luebke
1/19/99
Realism

What is not realistic about the
following images?
David Luebke
1/19/99
Realism?
David Luebke
1/19/99
Realism?
David Luebke
1/19/99
Realism?
David Luebke
1/19/99
Realism?
David Luebke
1/19/99
Realism?
David Luebke
1/19/99
Realism?
David Luebke
1/19/99
Realism?
David Luebke
1/19/99
Realism?
David Luebke
1/19/99
Realism…
A big part of realism is realistic
lighting
 Is OpenGL’s lighting model realistic?

– Empirical specular term
– “Ambient” term
– No shadows
– No surface interreflection
David Luebke
1/19/99
Crude light-surface
interaction model
Strictly local
illumination model
Global Illumination

Realistic lighting is global, not local
– Surfaces shadow each other
– Surfaces illuminate each other
So realistic graphics = simulation
 Two long-time approaches

– Ray-tracing: simulate light-ray optics
– Radiosity: simulate physics of light
transfer
David Luebke
1/19/99
Ray Tracing

Powerful, elegant idea that unified:
– Hidden surface determination
– Shadows
– Reflective surfaces

Read Chapter 8
(Browse 8.3.1-8.3.6)
David Luebke
1/19/99
Ray Tracing Overview

To determine visible surfaces at
each pixel:
– Cast a ray from the eyepoint through
the center of the pixel
– Intersect the ray with all objects in the
scene
– Whatever it hits first is the visible object

This is called ray casting
David Luebke
1/19/99
Ray Casting

An example:
Eyepoint
Screen
David Luebke
Scene
1/19/99
Recursive Ray Tracing

Obvious extension:
– Spawn additional rays off reflective
surfaces
– Spawn transmitted rays through
transparent surfaces

Leads to recursive
ray tracing
Secondary Rays
Primary Ray
David Luebke
1/19/99
Recursive Ray Tracing

Slightly less obvious extension:
– Trace a ray from point of intersection to
light source
– If ray hits anything before light source,
object is in shadow
– These are called shadow rays
David Luebke
1/19/99
Ray Tracing Overview

Ray tracing is simple
– No clipping, perspective projection
matrices, scan conversion of polygons

Ray tracing is powerful
– Reflection, refraction, shadows
David Luebke
1/19/99
Ray Tracing Overview
So why don’t we use ray tracing for
all our computer graphics needs?
 Ray tracing is slow

– Complexity proportional to # of pixels
– Typical screen ~ 1,000,000 pixels
– Typical scene « 1,000,000 polygons
David Luebke
1/19/99
Where We’re Going

Next 2-3 lectures: Basic ray tracing
– Casting primary rays, intersection tests,
speedup techniques, etc.
– Exercise 1: RSRT

2-3 lecture digression: Antialiasing
– Signal theory, sampling, A-buffer, etc.
– Assignment 1: Sampling strategies

1-2 lectures: advanced ray tracing
David Luebke
1/19/99