#16: Computer Cinematography:The Toy Story Lighting ModelCSE167: Computer GraphicsInstructor: Ronen BarzelUCSD, Winter 20061Film 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 eye2Real-World Film LightingPractical 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 background3Real-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’schin etc…4Computer 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 this5Lighting Model Several independent aspects selection shape shadowing texture dropoff direction properties6Basic setup only fill lights7One key light(will talk about the beam-of-light effect later)(will talk about the beam of light effect later)8Selection torus unaffected by key light9Shape Region of space affected by light Real-world commonly use spotlights, barn door lights CG model: Generalized cone/pyramid Soft edges Cuton and cutoff10Generalized cone/pyramid A “superellipse” shape swept into a pyramid superellipse varies between circle and rectangle pyramid may be truncated or sheared11 2-dimensional superellipse: n=1 is ordinary ellipse or circle need to handle 4 quadrants carefully:• avoid exponentiation of negative numbers• use2D Superellipsexy!"#$%&=a cosn(')bsinn(')!"#$%&,!where 0 ('( 2) and 0 ( n < *xa+,-./02 n+yb+,-./02 n= 1y = b 1 1xa+,-./02 n+,-./0n 2xn= ! xnif x < 012Aside: 3D Superellipsoidxyz!"###$%&&&=a cosn1(')cosn2(()b cosn1(')sinn2(()csinn1(')!"###$%&&&!where 0 )() 2* and -*2)')*2 and 0 ) n < +13Returning to lighting… A 2D superellipse swept into a pyramid pyramid may be truncated or sheared14Shape: Rounded Rectangle15Shape: Sheared Barn Door16Soft Edges Full intensity in central pyramid No effect (zero intensity) outside outer pyramid Smooth falloff between them17Shape: Hard Edge18Shape: Soft Edges19Step 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 transition between two colors:!!!!!!!!!!!!!!!! Lerp(step(s, a,b),Color1,Color2)20Linear Step Vary linearly between a and b: Simple, quick Not C1-continuous• Abrupt• Can cause Mach bandinglinearstep(s,a,b) =0, s ! as " ab " a, a ! s ! b1 b ! s#$%%&%%s01a b21“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 librarysmoothstep(s,a,b) =0, s ! a"2s " ab " a#$%&'(3+ 3s " ab " a#$%&'(2, a ! s ! b1 b ! s)*++,++s01a b22Shape: Cutoff Truncate bottom of pyramid smooth transition zone (fairly sharp in the example)23Shape: Cuton Truncate top of pyramid smooth transition zone (gradual in the example)24Shadowing 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 shading25Basic Shadows26Shadow Selection Cube casts no shadow27Shadow Direction move shadowmap camera away from light position to control where shadows fall surprisingly acceptable, especially for shadows cast on distant surface28Shadow Sharing use one light’s shadowmap for other lights prevent other lights from washing out important shadows29Fake shadows Place a virtual shadow-casting superellipse in space. known as a “blocker” (Real-world, place opaque cards in front of light)30Shape Trimming Make large blocker, place it to trim the shape of the light Can animate blocker for effects like door opening offscreen31Shadow 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 shadowing32Texture We use images to create texture on surfaces Can also use images to create texture in lighting, via projectionCookie: single-channel matte used as a “cookie cutter” (a.k.a. cucaloris)• changes shape• breaks up lightSlide: 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”33Texture files34Cookie changing light shape35Cookie breaking up light36Projecting a color slide37Intensity 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
View Full Document