Upload
sophia-parrish
View
216
Download
2
Tags:
Embed Size (px)
Citation preview
#16: Computer Cinematography:
The Toy Story Lighting Model
CSE167: Computer GraphicsInstructor: Ronen Barzel
UCSD, Winter 2006
2
Film Cinematography
What makes film look different from home movie? Camera Lighting
Not trying for “photorealism” Lighting in cinematography
Contribute to storytelling Set mood Compose image Direct viewer’s eye
3
Real-World Film Lighting
Practical lights: lights that are visible onscreen e.g. desk lamps, ceiling lamps, flashlights, fires, … rarely major contributors to illumination
Main lights and spotlights placed off-camera To create desired illumination effect
Standard three-point lighting setup: Key light -- provides major source of illumination & shadow
Fill Light -- fills in dark areas & shadows made by key
Back light -- creates subtle highlights around edges• helps give sense of 3D depth• separates subject from background
4
Real-World Film Lighting Trickery
Cheat as necessary: Suspend sheet in front of light to soften shadows
Position opaque cards or graded filters to shape light
Focus narrow “tickler” lights to get extra highlights
Hide “kicker” light under a desk to fill dark areas under character’s chin
etc…
5
Computer Graphics Trickery
We’re not looking for realism real-world lighting is constrained by reality, CG isn’t
Things that can’t be done in real life lights coming out of nowhere lights that act on only certain objects decoupling lights and shadows etc.
Real life does some things easier than standard CG: soft shadows soft area lights global illumination techniques help this
6
Lighting Model
Several independent aspects selection shape shadowing texture dropoff direction properties
7
Basic setup
only fill lights
8
One key light
(will talk about the beam-of-light effect later)
(will talk about the beam of light effect later)
9
Selection
torus unaffected by key light
10
Shape
Region of space affected by light Real-world commonly use spotlights, barn door lights
CG model: Generalized cone/pyramid Soft edges Cuton and cutoff
11
Generalized cone/pyramid
A “superellipse” shape swept into a pyramid superellipse varies between circle and rectangle pyramid may be truncated or sheared
12
2-dimensional superellipse:
n=1 is ordinary ellipse or circle need to handle 4 quadrants carefully:
• avoid exponentiation of negative numbers• use
2D Superellipse
x
y
⎡
⎣⎢
⎤
⎦⎥=
acosn(θ)bsinn(θ)
⎡
⎣⎢
⎤
⎦⎥, where 0 ≤θ ≤ 2π and 0 ≤ n < ∞
x
a⎛⎝⎜
⎞⎠⎟
2 n
+y
b⎛⎝⎜
⎞⎠⎟
2 n
= 1
y = b 1−x
a⎛⎝⎜
⎞⎠⎟
2 n⎛
⎝⎜
⎞
⎠⎟
n 2
xn =−xnif x < 0
13
Aside: 3D Superellipsoid
x
y
z
⎡
⎣
⎢⎢⎢
⎤
⎦
⎥⎥⎥=
acosn1 (φ)cosn2 (θ)bcosn1 (φ)sinn2 (θ)
csinn1 (φ)
⎡
⎣
⎢⎢⎢
⎤
⎦
⎥⎥⎥
where 0 ≤θ ≤ 2π
and - π2 ≤φ≤ π2
and 0 ≤ n < ∞
14
Returning to lighting…
A 2D superellipse swept into a pyramid pyramid may be truncated or sheared
15
Shape: Rounded Rectangle
16
Shape: Sheared Barn Door
17
Soft Edges
Full intensity in central pyramid No effect (zero intensity) outside outer pyramid Smooth falloff between them
18
Shape: Hard Edge
19
Shape: Soft Edges
20
Step Transitions
Want to transition between two values E.g. in a shader, transition between two colors on surface
E.g. inside/outside light shape Want function to provide control value between 0 to 1:
• Function step(s,a,b) for a < b
• Should return 0 for s ≤ a
• Should return 1 for s ≥ b
• Should vary smoothly between them
• Can use, e .g., to trans ition between two colors :
Lerp(step(s,a,b),Color1,Color2 )
21
Linear Step
Vary linearly between a and b:
Simple, quick Not C1-continuous
• Abrupt• Can cause Mach banding
linearstep(s,a,b) =
0, s≤as−ab−a
, a≤s≤b
1 b≤s
⎧
⎨⎪⎪
⎩⎪⎪
s0
1
a b
22
“SmoothStep”
Cubic curve: Tangent is horizontal at start and end
• C1-continuous Special-case of a Hermite Spline:
• Cubic spline defined by two interpolating points and two tangents
In RenderMan shading language library
smoothstep(s,a,b) =
0, s≤a
−2s−ab−a
⎛⎝⎜
⎞⎠⎟
3
+ 3s−ab−a
⎛⎝⎜
⎞⎠⎟
2
, a≤s≤b
1 b≤s
⎧
⎨
⎪⎪
⎩
⎪⎪
s0
1
a b
23
Shape: Cutoff
Truncate bottom of pyramid smooth transition zone (fairly sharp in the example)
24
Shape: Cuton
Truncate top of pyramid smooth transition zone (gradual in the example)
25
Shadowing
Shadows & shadow placement important for cinematography Can control shadows for artistic effect Think of shadow as “volume of darkness”
illumination inhibited inside the volume Control:
Shadow selection Shadow direction Shadow sharing Fake shadows Shape trimming Shadow softening
Techniques can be implemented using shadowmaps & procedural shading
26
Basic Shadows
27
Shadow Selection
Cube casts no shadow
28
Shadow Direction
move shadowmap camera away from light position to control where shadows fall surprisingly acceptable, especially for shadows cast on distant surface
29
Shadow Sharing
use one light’s shadowmap for other lights prevent other lights from washing out important shadows
30
Fake shadows
Place a virtual shadow-casting superellipse in space. known as a “blocker” (Real-world, place opaque cards in front of light)
31
Shape Trimming
Make large blocker, place it to trim the shape of the light Can animate blocker for effects like door opening offscreen
32
Shadow Softening
Effect of shadow on light doesn’t need to be binary on/off:
Only partially inhibit the light (scale down rather than remove)
Soften edges• shadowmap edge blurring techniques• smooth falloff in shadow blockers
Rather than inhibiting light, lerp to a different color• e.g. can be effective to lerp to dark blue• default: lerp to black gives normal shadowing
33
Texture
We use images to create texture on surfaces Can also use images to create texture in lighting, via
projection Cookie: single-channel matte used as a “cookie cutter”
(a.k.a. cucaloris)• changes shape• breaks up light
Slide: color image used as a slide projector• can blur based on distance for getting unfocused projection (e.g.
from a TV) Noise: 2D procedural noise
• makes light “dirty”
34
Texture files
35
Cookie changing light shape
36
Cookie breaking up light
37
Projecting a color slide
38
Intensity distribution
The intensity of the light can vary across the shape Beam distribution
• cosinen across beam Distance falloff
• inverse-linear, inverse-square, etc.
Usually only used for practical light effects Choosing dropoff exponent parameters not intuitive Easier to adjust lighting using soft shape, cutoff, blockers
39
Uniform Intensity
40
Beam Distribution
41
Distance Falloff
42
Light Ray Direction
Two common CG options: radial from apex of pyramid parallel
Subtle effect on shading and highlights effect more noticeable as light source is close to object
43
Light Properties
Properties of the “photons” that are incident on the surfaces
Intensity: nominal intensity at a target point within the shape• Attenuated by: shape boundary, shadows, cookies, noise, dropoff
Color: nominal RGB color of the light• Filtered by: slide, noise, colored shadow
Effect: how much light contributes to CG illumination model• Separate scale factor for ambient, diffuse, specular• Fill lights typically ambient-only, to avoid unwanted specular
hilights Other… depending on what the surface shading model can handle
• “ultraviolet” 4th color channel. “fluorescent” surface responds by self-illuminating
Lights that don’t actually light… Surface can react specially to specific “light” types:
• lights whose effect is to attenuate other lights• lights that affect surface properties
• e.g. use a slide to project a bump map?
• etc…
44
Example 1
45
Example 1 notes
Light shape/placement for image composition Barn door light frames character Nominally shines from offscreen window Placed for visual effect, not necessarily consistent with window
Softened (partial opacity) shadows of bed on wall
46
Example 2
47
Example 2 notes
Strips of light on the characters Not actually cast by the venetian blind slats Generated using a cookie, adjusted for best effect
Slats are lit from below to get desired glow
48
Example 3
49
Example 3 notes
Cookie (the one from slide 33) used for dappled leaves Separate cone-shaped spotlight w/cookie on soldier in
rear Characters in foreground lit by blue light for blue
highlights Practical light source: red LED
50
Example 4
51
Example 4 notes
Practical light source: Flashlight Cookie for lens ring effect Two light sources:
• one illuminates character• one generates fog effect, with cutoff to avoid obscuring character
“Ultraviolet” light white shirt responds with blue glow
52
Example 5
53
Example 5 notes
Shadow placement. Milk crate shadows adjusted so that “X” lands on Woody’s face Doesn’t obscure eyes or mouth
Blockers darken background Darkens mood Focuses attention on face in the foreground
54
Example 6
55
Example 6 notes
Soft edges of key light Buzz’s shadow direction adjusted for compositional effect Grazing-angle light on desk only, accentuates its texture Separate lights on Buzz only for extra highlighting Cookie animates from one frame to next for falling-rain
effect
56
Fog in computer graphics
Simple version: depth cueing After lighting computation Blend between lit surface color and constant fog color, based
on depth Typically have a “near fog plane” then linear or exponential
fogging with distance Compute in pixel shaders Supported by some hardware No beam of light effects
QuickTime™ and aTIFF (Uncompressed) decompressor
are needed to see this picture.
QuickTime™ and aTIFF (Uncompressed) decompressor
are needed to see this picture.
Lerp(e−dz,Clit,C fog)
57
Atmospheric effects
Participating Medium Light bounces off air particles Some light gets absorbed by air particles Full simulation of multiple scattering is possible, using
monte carlo techniques• Gets best results for clouds, etc.
Simple approximation: ray marching, single scattering (Used for examples today) Start at surface, with lit color Take incremental steps along ray towards eye At each step:
• attenuate existing color / merge towards fog color• look up lighting (with shadows)• compute amount of light scattered towards eye• add to current color
Can be implemented in pixel shader Some systems support procedural volume shaders to run after
surface shading
58
Real-time clouds
Various approximation techniques. Billboards, transparency, frustum culling, … Video shows some of the acceleration techniques Steve talked
about last class [play video]
59
Done
Next class: Guest Lecture: Daniel Maskit, Digital Domain “A View From
The Trenches”