# CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

Size: px
Start display at page:

## Transcription

1 CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker

2 Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection and refraction Toon shading

3 Why are shadows important? Cues on scene lighting 3

4 Why are shadows important? Contact points Depth cues 4

7 Hard and soft shadows Point and directional lights lead to hard shadows, no penumbra Area light sources lead to soft shadows, with penumbra point directional area umbra penumbra 7

9 Shadows for interactive rendering Focus on hard shadows Soft shadows often too hard to compute in interactive graphics Two main techniques Shadow mapping Shadow volumes Many variations, subtleties Still active research area 9

10 Shadow mapping Main idea Scene point is lit by light source if it is visible from light source Determine visibility from light source by placing camera at light source position and rendering scene Scene points are lit if visible from light source Determine visibility from light source by placing camera at light source position 10

11 Two pass algorithm First pass Render scene by placing camera at light source position Store depth image (shadow map) depth value in shadow map Depth image seen from light source

12 Two pass algorithm Second pass Render scene from camera (eye) position depth value in shadow map At each pixel, compare distance to light source (yellow) with value in shadow map (red) If yellow distance is larger than red, we are in shadow If distance is smaller or equal, pixel is lit v b is in shadow pixel seen from eye v b Final image with shadows 12

13 Issues Limited field of view of shadow map Z-fighting Sampling problems 13

14 Limited field of view What if a scene point is outside the field of view of the shadow map? field of view of shadow map

15 Limited field of view What if a scene point is outside the field of view of the shadow map? Use six shadow maps, arranged in a cube Requires rendering pass for each shadow map! shadow maps

16 z-fighting In theory, depth values for points visible from light source are equal in both rendering passes Because of limited resolution, depth of pixel visible from camera could be larger than shadow map value Need to add bias in first pass to make sure pixels are lit Shadow map Shadow map pixels Depth of shadow map Camera image Depth of pixel visible from camera Image pixels Pixel is considered in shadow!

17 Solution Add bias when rendering shadow map Move geometry away from light by small amount Finding correct amount of bias is tricky Correct bias Not enough bias Too much bias 17

18 Bias Not enough Too much Correct 18

19 Sampling problems Shadow map pixel may project to many image pixels Ugly stair-stepping artifacts 19

20 Solutions Increase resolution of shadow map Not always sufficient Split shadow map into several slices Tweak projection for shadow map rendering Light space perspective shadow maps (LiSPSM) With GLSL source code! Combination of splitting and LiSPSM Basis for most serious implementations List of advanced techniques see 20

22 Percentage closer filtering Goal: avoid stair-stepping artifacts Similar to texture filtering, but with a twist Simple shadow mapping Percentage closer filtering 22

23 Percentage closer filtering Instead of looking up one shadow map pixel, look up several Perform depth test for each shadow map pixel Compute percentage of lit shadow map pixels 23

24 Percentage closer filtering Supported in hardware for small filters (2x2 shadow map pixels) Can use larger filters (look up more shadow map pixels) at cost of performance penalty Fake soft shadows Larger filter, softer shadow boundary 24

26 In shadow or not Test if surface visible in given pixel is inside or outside shadow volume 1. Allocate a counter per pixel 2. Cast a ray into the scene, starting from eye, going through given pixel 3. Increment the counter when the ray enters the shadow volume 4.Decrement the counter when the ray leaves the shadow volume 5.When we hit the object, check the counter. If counter > 0, in shadow Otherwise, not in shadow 26

27 In shadow or not Light source Occluder Eye position In shadow 27

28 Implementation in rendering pipeline Ray tracing not possible to implement directly Use a few tricks... 28

29 Shadow volume construction Need to generate shadow polygons to bound shadow volume Extrude silhouette edges from light source Extruded shadow volumes 29

30 Shadow volume construction Needs to be done on the CPU Silhouette edge detection An edge is a silhouette if one adjacent triangle is front facing, the other back facing with respect to the light Extrude polygons from silhouette edges 30

31 Shadow test without ray tracing Using the stencil buffer A framebuffer channel (like RGB colors, depth) that contains a per-pixel counter (integer value) Available in OpenGL Stencil test Similar to depth test (z-buffering) Control whether a fragment is discarded or not Stencil function: is evaluated to decide whether to discard a fragment Stencil operation: is performed to update the stencil buffer depending on the result of the test 31

32 Shadow volume algorithms Z-pass approach Count leaving/entering shadow volume events as described Use stencil buffer to count number of visible (i.e. not occluded from camera) front-facing and back facing shadow volume polygons for each pixel If equal, pixel is not in shadow Z-fail approach Count number of invisible (i.e. occluded from camera) front-facing and back-facing shadow volume polygons If equal, pixel is not in shadow 32

33 Z-pass approach: details Render scene with only ambient light Update depth buffer Turn off depth and color write, turn on stencil, keep the depth test on Init stencil buffer to 0 Draw shadow volume twice using face culling 1st pass: render front faces and increment stencil buffer when depth test passes 2nd pass: render back faces and decrement when depth test passes At each pixel Stencil!= 0, in shadow Stencil = 0, lit Render the scene again with diffuse and specular lighting Write to framebuffer only pixels with stencil = 0 33

34 Issues Z-pass fails if Eye is in shadow Shadow polygon clipped by near clip plane 34

35 Shadow volumes Pros Does not require hardware support for shadow mapping Pixel accurate shadows, no sampling issues Cons More CPU intensive (construction of shadow volume polygons) Fill-rate intensive (need to draw many shadow volume polygons) Expensive for complex geometry Tricky to handle all cases correctly Hard to extend to soft shadows 35

36 Shadow maps Pros: Little CPU overhead No need to construct extra geometry to represent shadows Hardware support Can fake soft shadows easily Cons: Sampling issues Depth bias is not completely foolproof Shadow mapping has become more popular with better hardware support 36

38 More realistic illumination In real world, at each point in scene light arrives from all directions Not just from point light sources Environment maps Store omni-directional illumination as images Each pixel corresponds to light from a certain direction 38

39 Capturing environment maps 360 degrees panoramic image Instead of 360 degrees panoramic image, take picture of mirror ball (light probe) Light probes [Paul Debevec, 39

40 Environment maps as light sources Simplifying assumption Assume light captured by environment map is emitted infinitely far away Environment map consists of directional light sources Value of environment map is defined for each direction, independent of position in scene Use single environment map as light source at all locations in the scene Approximation! 40

41 Environment maps as light sources How do you compute shading of a diffuse surface using an environment map? What is more expensive to compute, shading a diffuse or a specular surface? 41

42 Environment maps applications Use environment map as light source Reflection mapping Global illumination [Sloan et al.] 42

43 Sphere & cube maps Store incident light on sphere or on six faces of a cube Elevation q const. North pole q=90 South pole q=-90 Elevation, azimuthal angle Spherical map Cube map 43

44 Cube maps in OpenGL Application setup Load, bind a cube environment map glbindtexture(gl_texture_cube_map, ); // the six cube faces glteximage2d(gl_texture_cube_map_positive_x, ); glteximage2d(gl_texture_cube_map_negative_x, ); glteximage2d(gl_texture_cube_map_positive_y, ); glenable(gl_texture_cube_map); More details OpenGL Shading Language, Randi Rost OpenGL Superbible, Sellers et al. Online tutorials 44

45 Cube maps in OpenGL Look-up Given direction (x,y,z) Largest coordinate component determines cube map face Dividing by magnitude of largest component yields coordinates within face Look-up function built into GLSL Use (x,y,z) direction as texture coordinates to samplercube 45

46 Environment map data Also called light probes Tool for high dynamic range data (HDR) Pre-rendered light probes for games Light probes ( 46

47 Reflection mapping Simulate mirror reflection Compute reflection vector at each pixel using view direction and surface normal Use reflection vector to look up cube map Rendering cube map itself is optional Reflection mapping 47

48 Reflection mapping in GLSL Vertex shader Compute viewing direction for each vertex Reflection direction Use GLSL built-in reflect function Pass reflection direction to fragment shader Fragment shader Look-up cube map using interpolated reflection direction in float3 refl; uniform samplercube envmap; texture(envmap, refl); 48

49 Reflection mapping examples Approximation, reflections are not accurate [NVidia] 49

50 Shading using environment map Assumption: distant lighting Incident light is a function of direction, but not position Realistic shading requires Take into account light from all directions Include occlusion Illumination from environment Same environment map for both points Illumination is a function of direction, but not position 50

51 Mathematical model Assume Lambertian (diffuse) material, BRDF k d Ignore occlusion for now Illumination from point light sources Illumination from environment map using hemispherical integral Directions w Hemisphere of directions W Environment map, radiance from each direction c(w) 51

52 Irradiance environment maps Precompute irradiance as a function of normal Store as irradiance environment map Shading computation at render time Depends only on normal, not position Environment map Irradiance map 52

53 Irradiance environment maps Directional light Environment illumination Images from 53

54 Implementation Precompute irradiance map from environment HDRShop tool, diffuse convolution At render time, look up irradiance map using surface normal When object rotates, rotate normal accordingly Can also approximate glossy reflection Blur environment map less heavily Look up blurred environment map using reflection vector 54

55 Today More shading Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection and refraction Toon shading 55

56 Including occlusion At each point, environment is partially occluded by geometry Add light only from un-occluded directions Visualization of un-occluded directions 56

57 Including occlusion Visibility function V x (w) Binary function of direction w Indicates if environment is occluded Depends on position x V x0 =1 V x1 =0 x0 x1 Environment map V x0 =0 Visibility functions V x1 =1 57

58 Mathematical model Diffuse illumination with visibility V x =1 Ambient occlusion Fraction of environment that is not occluded from a point x Scalar value V x =0 Approximation: diffuse shading given by irradiance weighted by ambient occlusion 58

59 Ambient occlusion Ambient occlusion Diffuse shading Ambient occlusion combined (using multiplication) with diffuse shading 59

60 Implementation Precomputation (off-line, before rendering) Compute ambient occlusion on a per-vertex basis Using ray tracing Free tool that saves meshes with per-vertex ambient occlusion Caution Basic pre-computed ambient occlusion does not work for animated objects 60

61 Shading integral Ambient occlusion with irradiance environment maps is crudeapproximation to general shading integral BRDF for (non-diffuse) material Incident directions w i Reflected radiance c(w o ) Hemisphere W Outgoing direction w o 61

62 Shading integral Accurate evaluation is expensive to compute Requires numerical integration Manytricks for moreaccurate and general approximation than ambient occlusion and irradiance environment maps exist Spherical harmonics shading 62

63 Note Visually interesting results using combination (sum) of diffuse shading with ambient occlusion and reflection mapping Diffuse shading with ambientocclusion Reflection mapping Combination (sum) 63

64 Today More shading Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection and refraction Toon shading 64

66 Toon shading Silhouette edge detection Compute dot product of viewing direction v and normal n Use 1D texture to define edge ramp uniform sample1d edgeramp; e=texture1d(edgeramp,edge); edgeramp 1 0 edge 66

67 Toon shading Compute diffuse and specular shading Use 1D textures diffuseramp, specularramp to map diffuse and specular shading to colors Final color uniform sampler1d diffuseramp; uniform sampler1d specularramp; c = e * (texture(diffuse,diffuseramp)+ texture(specular,specularramp)); 67

### Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Computergrafik Matthias Zwicker Universität Bern Herbst 2016 Today More shading Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection and refraction Toon shading

### Computergrafik. Matthias Zwicker. Herbst 2010

Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Bump mapping Shadows Shadow mapping Shadow mapping in OpenGL Bump mapping Surface detail is often the result of small perturbations in

### Shadow Algorithms. CSE 781 Winter Han-Wei Shen

Shadow Algorithms CSE 781 Winter 2010 Han-Wei Shen Why Shadows? Makes 3D Graphics more believable Provides additional cues for the shapes and relative positions of objects in 3D What is shadow? Shadow:

### Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION

### Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!

Last Time? Real-Time Shadows Perspective-Correct Interpolation Texture Coordinates Procedural Solid Textures Other Mapping Bump Displacement Environment Lighting Textures can Alias Aliasing is the under-sampling

### Pipeline Operations. CS 4620 Lecture 14

Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives

### Pipeline Operations. CS 4620 Lecture 10

Pipeline Operations CS 4620 Lecture 10 2008 Steve Marschner 1 Hidden surface elimination Goal is to figure out which color to make the pixels based on what s in front of what. Hidden surface elimination

### Deferred Rendering Due: Wednesday November 15 at 10pm

CMSC 23700 Autumn 2017 Introduction to Computer Graphics Project 4 November 2, 2017 Deferred Rendering Due: Wednesday November 15 at 10pm 1 Summary This assignment uses the same application architecture

### Real-Time Shadows. Last Time? Schedule. Questions? Today. Why are Shadows Important?

Last Time? Real-Time Shadows The graphics pipeline Clipping & rasterization of polygons Visibility the depth buffer (z-buffer) Schedule Questions? Quiz 2: Thursday November 2 th, in class (two weeks from

### Real-Time Shadows. MIT EECS 6.837, Durand and Cutler

Real-Time Shadows Last Time? The graphics pipeline Clipping & rasterization of polygons Visibility the depth buffer (z-buffer) Schedule Quiz 2: Thursday November 20 th, in class (two weeks from Thursday)

### Shadows. COMP 575/770 Spring 2013

Shadows COMP 575/770 Spring 2013 Shadows in Ray Tracing Shadows are important for realism Basic idea: figure out whether a point on an object is illuminated by a light source Easy for ray tracers Just

### Last Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important?

Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Graphics Pipeline Clipping Rasterization

Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Graphics Pipeline Clipping Rasterization

### Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker

Rendering Algorithms: Real-time indirect illumination Spring 2010 Matthias Zwicker Today Real-time indirect illumination Ray tracing vs. Rasterization Screen space techniques Visibility & shadows Instant

### TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students) Saturday, January 13 th, 2018, 08:30-12:30 Examiner Ulf Assarsson, tel. 031-772 1775 Permitted Technical Aids None, except

### Rasterization Overview

Rendering Overview The process of generating an image given a virtual camera objects light sources Various techniques rasterization (topic of this course) raytracing (topic of the course Advanced Computer

### Ambien Occlusion. Lighting: Ambient Light Sources. Lighting: Ambient Light Sources. Summary

Summary Ambien Occlusion Kadi Bouatouch IRISA Email: kadi@irisa.fr 1. Lighting 2. Definition 3. Computing the ambient occlusion 4. Ambient occlusion fields 5. Dynamic ambient occlusion 1 2 Lighting: Ambient

### Procedural modeling and shadow mapping. Computer Graphics CSE 167 Lecture 15

Procedural modeling and shadow mapping Computer Graphics CSE 167 Lecture 15 CSE 167: Computer graphics Procedural modeling Height fields Fractals L systems Shape grammar Shadow mapping Based on slides

### Volume Shadows Tutorial Nuclear / the Lab

Volume Shadows Tutorial Nuclear / the Lab Introduction As you probably know the most popular rendering technique, when speed is more important than quality (i.e. realtime rendering), is polygon rasterization.

### Shadows in the graphics pipeline

Shadows in the graphics pipeline Steve Marschner Cornell University CS 569 Spring 2008, 19 February There are a number of visual cues that help let the viewer know about the 3D relationships between objects

### Last Time. Reading for Today: Graphics Pipeline. Clipping. Rasterization

Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility

### What for? Shadows tell us about the relative locations. Vienna University of Technology 2

Shadows What for? Shadows tell us about the relative locations and motions of objects Vienna University of Technology 2 What for? Shadows tell us about the relative locations and motions of objects And

### TSBK03 Screen-Space Ambient Occlusion

TSBK03 Screen-Space Ambient Occlusion Joakim Gebart, Jimmy Liikala December 15, 2013 Contents 1 Abstract 1 2 History 2 2.1 Crysis method..................................... 2 3 Chosen method 2 3.1 Algorithm

### Recall: Indexing into Cube Map

Recall: Indexing into Cube Map Compute R = 2(N V)N-V Object at origin Use largest magnitude component of R to determine face of cube Other 2 components give texture coordinates V R Cube Map Layout Example

### Acknowledgement: Images and many slides from presentations by Mark J. Kilgard and other Nvidia folks, from slides on developer.nvidia.

Shadows Acknowledgement: Images and many slides from presentations by Mark J. Kilgard and other Nvidia folks, from slides on developer.nvidia.com Practical & Robust Stenciled Shadow Volumes for Hardware-Accelerated

### CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008.

CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions The Midterm Exam was given in class on Thursday, October 23, 2008. 1. [4 pts] Drawing Where? Your instructor says that objects should always be

### Interactive Methods in Scientific Visualization

Interactive Methods in Scientific Visualization GPU Volume Raycasting Christof Rezk-Salama University of Siegen, Germany Volume Rendering in a Nutshell Image Plane Eye Data Set Back-to-front iteration

### EECS 487: Interactive Computer Graphics

Shadow Mapping EECS 487: Interactive Computer Graphics Lecture 32: Interactive Visual Effects Shadow Map Ambient Occlusion A point is lit if it is visible from the light source similar to visible surface

### CPSC 314 LIGHTING AND SHADING

CPSC 314 LIGHTING AND SHADING UGRAD.CS.UBC.CA/~CS314 slide credits: Mikhail Bessmeltsev et al 1 THE RENDERING PIPELINE Vertices and attributes Vertex Shader Modelview transform Per-vertex attributes Vertex

### Introduction to Visualization and Computer Graphics

Introduction to Visualization and Computer Graphics DH2320, Fall 2015 Prof. Dr. Tino Weinkauf Introduction to Visualization and Computer Graphics Visibility Shading 3D Rendering Geometric Model Color Perspective

### Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Rendering Pipeline Rendering Converting a 3D scene to a 2D image Rendering Light Camera 3D Model View Plane Rendering Converting a 3D scene to a 2D image Basic rendering tasks: Modeling: creating the world

### OpenGl Pipeline. triangles, lines, points, images. Per-vertex ops. Primitive assembly. Texturing. Rasterization. Per-fragment ops.

OpenGl Pipeline Individual Vertices Transformed Vertices Commands Processor Per-vertex ops Primitive assembly triangles, lines, points, images Primitives Fragments Rasterization Texturing Per-fragment

Computergrafik Matthias Zwicker Universität Bern Herbst 2009 Today Introduction Local shading models Light sources strategies Compute interaction of light with surfaces Requires simulation of physics Global

Shadow Rendering EDA101 Advanced Shading and Rendering 2006 Tomas Akenine-Möller 1 Why, oh why? (1) Shadows provide cues about spatial relationships among objects 2006 Tomas Akenine-Möller 2 Why, oh why?

### Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping

Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Shadow Buffer Theory Observation:

### Consider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye

Ray Tracing What was the rendering equation? Motivate & list the terms. Relate the rendering equation to forward ray tracing. Why is forward ray tracing not good for image formation? What is the difference

Projects Lecture 17: Shadows Proposals due today I will mail out comments Fall 2004 Kavita Bala Computer Science Cornell University Grading HW 1: will email comments asap Why Shadows? Crucial for spatial

### Computer Graphics. Lecture 9 Environment mapping, Mirroring

Computer Graphics Lecture 9 Environment mapping, Mirroring Today Environment Mapping Introduction Cubic mapping Sphere mapping refractive mapping Mirroring Introduction reflection first stencil buffer

### 6.837 Introduction to Computer Graphics Quiz 2 Thursday November 20, :40-4pm One hand-written sheet of notes allowed

6.837 Introduction to Computer Graphics Quiz 2 Thursday November 20, 2003 2:40-4pm One hand-written sheet of notes allowed Name: 1 2 3 4 5 6 7 / 4 / 15 / 5 / 5 / 12 / 2 / 7 Total / 50 1 Animation [ /4]

### Texture Mapping II. Light maps Environment Maps Projective Textures Bump Maps Displacement Maps Solid Textures Mipmaps Shadows 1. 7.

Texture Mapping II Light maps Environment Maps Projective Textures Bump Maps Displacement Maps Solid Textures Mipmaps Shadows 1 Light Maps Simulates the effect of a local light source + = Can be pre-computed

### CS 4620 Program 3: Pipeline

CS 4620 Program 3: Pipeline out: Wednesday 14 October 2009 due: Friday 30 October 2009 1 Introduction In this assignment, you will implement several types of shading in a simple software graphics pipeline.

### Robust Stencil Shadow Volumes. CEDEC 2001 Tokyo, Japan

Robust Stencil Shadow Volumes CEDEC 2001 Tokyo, Japan Mark J. Kilgard Graphics Software Engineer NVIDIA Corporation 2 Games Begin to Embrace Robust Shadows 3 John Carmack s new Doom engine leads the way

### Problem Set 4 Part 1 CMSC 427 Distributed: Thursday, November 1, 2007 Due: Tuesday, November 20, 2007

Problem Set 4 Part 1 CMSC 427 Distributed: Thursday, November 1, 2007 Due: Tuesday, November 20, 2007 Programming For this assignment you will write a simple ray tracer. It will be written in C++ without

### Dynamic Ambient Occlusion and Indirect Lighting. Michael Bunnell NVIDIA Corporation

Dynamic Ambient Occlusion and Indirect Lighting Michael Bunnell NVIDIA Corporation Environment Lighting Environment Map + Ambient Occlusion + Indirect Lighting New Radiance Transfer Algorithm Useful for

### Getting fancy with texture mapping (Part 2) CS559 Spring Apr 2017

Getting fancy with texture mapping (Part 2) CS559 Spring 2017 6 Apr 2017 Review Skyboxes as backdrops Credits : Flipmode 3D Review Reflection maps Credits : NVidia Review Decal textures Credits : andreucabre.com

### INFOGR Computer Graphics. J. Bikker - April-July Lecture 10: Ground Truth. Welcome!

INFOGR Computer Graphics J. Bikker - April-July 2015 - Lecture 10: Ground Truth Welcome! Today s Agenda: Limitations of Whitted-style Ray Tracing Monte Carlo Path Tracing INFOGR Lecture 10 Ground Truth

### Soft shadows. Steve Marschner Cornell University CS 569 Spring 2008, 21 February

Soft shadows Steve Marschner Cornell University CS 569 Spring 2008, 21 February Soft shadows are what we normally see in the real world. If you are near a bare halogen bulb, a stage spotlight, or other

### CS 354R: Computer Game Technology

CS 354R: Computer Game Technology Texture and Environment Maps Fall 2018 Texture Mapping Problem: colors, normals, etc. are only specified at vertices How do we add detail between vertices without incurring

### Global Illumination CS334. Daniel G. Aliaga Department of Computer Science Purdue University

Global Illumination CS334 Daniel G. Aliaga Department of Computer Science Purdue University Recall: Lighting and Shading Light sources Point light Models an omnidirectional light source (e.g., a bulb)

### CHAPTER 1 Graphics Systems and Models 3

?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........

### The Rasterization Pipeline

Lecture 5: The Rasterization Pipeline Computer Graphics and Imaging UC Berkeley CS184/284A, Spring 2016 What We ve Covered So Far z x y z x y (0, 0) (w, h) Position objects and the camera in the world

### Shadow Techniques. Sim Dietrich NVIDIA Corporation

Shadow Techniques Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com Lighting & Shadows The shadowing solution you choose can greatly influence the engine decisions you make This talk will outline

### Computer Graphics Lecture 11

1 / 14 Computer Graphics Lecture 11 Dr. Marc Eduard Frîncu West University of Timisoara May 15th 2012 2 / 14 Outline 1 Introduction 2 Transparency 3 Reflection 4 Recap 3 / 14 Introduction light = local

### x ~ Hemispheric Lighting

Irradiance and Incoming Radiance Imagine a sensor which is a small, flat plane centered at a point ~ x in space and oriented so that its normal points in the direction n. This sensor can compute the total

### GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

Deferred Rendering in Killzone 2 Michal Valient Senior Programmer, Guerrilla Talk Outline Forward & Deferred Rendering Overview G-Buffer Layout Shader Creation Deferred Rendering in Detail Rendering Passes

### Topic 9: Lighting & Reflection models. Lighting & reflection The Phong reflection model diffuse component ambient component specular component

Topic 9: Lighting & Reflection models Lighting & reflection The Phong reflection model diffuse component ambient component specular component Spot the differences Terminology Illumination The transport

### Today. Anti-aliasing Surface Parametrization Soft Shadows Global Illumination. Exercise 2. Path Tracing Radiosity

Today Anti-aliasing Surface Parametrization Soft Shadows Global Illumination Path Tracing Radiosity Exercise 2 Sampling Ray Casting is a form of discrete sampling. Rendered Image: Sampling of the ground

### Spring 2012 Final. CS184 - Foundations of Computer Graphics. University of California at Berkeley

Spring 2012 Final CS184 - Foundations of Computer Graphics University of California at Berkeley Write your name HERE: Write your login HERE: Closed book. You may not use any notes or printed/electronic

Computergrafik Thomas Buchberger, Matthias Zwicker Universität Bern Herbst 2008 Today Introduction Local shading models Light sources strategies Compute interaction of light with surfaces Requires simulation

Lighting and Shading Today: Local Illumination Solving the rendering equation is too expensive First do local illumination Then hack in reflections and shadows Local Shading: Notation light intensity in,

### Ambient Occlusion. Ambient Occlusion (AO) "shadowing of ambient light "darkening of the ambient shading contribution

Slides modified from: Patrick Cozzi University of Pennsylvania CIS 565 - Fall 2013 (AO) "shadowing of ambient light "darkening of the ambient shading contribution "the crevices of the model are realistically

### Real-Time Shadows. André Offringa Timo Laman

Real-Time Shadows André Offringa Timo Laman Real-Time rendering Radiosity/Raytracing not feasible in real-time applications Scene rendered using projection & scan conversion of polygons Advantage: significant

### Graphics for VEs. Ruth Aylett

Graphics for VEs Ruth Aylett Overview VE Software Graphics for VEs The graphics pipeline Projections Lighting Shading VR software Two main types of software used: off-line authoring or modelling packages

### CS4620/5620: Lecture 14 Pipeline

CS4620/5620: Lecture 14 Pipeline 1 Rasterizing triangles Summary 1! evaluation of linear functions on pixel grid 2! functions defined by parameter values at vertices 3! using extra parameters to determine

### COMP environment mapping Mar. 12, r = 2n(n v) v

Rendering mirror surfaces The next texture mapping method assumes we have a mirror surface, or at least a reflectance function that contains a mirror component. Examples might be a car window or hood,

A Hybrid Approach One more shadow algorithm which deserves mention is McCool s clever idea shadow volume reconstruction from depth maps [McCool 2000]. This algorithm is a hybrid of the shadow map and shadow

### CS 130 Final. Fall 2015

CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying

### Lighting. To do. Course Outline. This Lecture. Continue to work on ray programming assignment Start thinking about final project

To do Continue to work on ray programming assignment Start thinking about final project Lighting Course Outline 3D Graphics Pipeline Modeling (Creating 3D Geometry) Mesh; modeling; sampling; Interaction

### Virtual Reality for Human Computer Interaction

Virtual Reality for Human Computer Interaction Appearance: Lighting Representation of Light and Color Do we need to represent all I! to represent a color C(I)? No we can approximate using a three-color

### Screen Space Ambient Occlusion TSBK03: Advanced Game Programming

Screen Space Ambient Occlusion TSBK03: Advanced Game Programming August Nam-Ki Ek, Oscar Johnson and Ramin Assadi March 5, 2015 This project report discusses our approach of implementing Screen Space Ambient

### Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Orthogonal Projection Matrices 1 Objectives Derive the projection matrices used for standard orthogonal projections Introduce oblique projections Introduce projection normalization 2 Normalization Rather

### CS : Assignment 2 Real-Time / Image-Based Rendering

CS 294-13: Assignment 2 Real-Time / Image-Based Rendering Ravi Ramamoorthi 1 Introduction In this assignment, you will implement some of the modern techniques for real-time and/or image-based rendering.

### CSE 167: Introduction to Computer Graphics Lecture #18: More Effects. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

CSE 167: Introduction to Computer Graphics Lecture #18: More Effects Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 Announcements TA evaluations CAPE Final project blog

### Real-Time Voxelization for Global Illumination

Lecture 26: Real-Time Voxelization for Global Illumination Visual Computing Systems Voxelization to regular grid Input: scene triangles Output: surface information at each voxel in 3D grid - Simple case:

### Sung-Eui Yoon ( 윤성의 )

CS380: Computer Graphics Ray Tracing Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/cg/ Class Objectives Understand overall algorithm of recursive ray tracing Ray generations Intersection

### Game Technology. Lecture Physically Based Rendering. Dipl-Inform. Robert Konrad Polona Caserman, M.Sc.

Game Technology Lecture 7 4.12.2017 Physically Based Rendering Dipl-Inform. Robert Konrad Polona Caserman, M.Sc. Prof. Dr.-Ing. Ralf Steinmetz KOM - Multimedia Communications Lab PPT-for-all v.3.4_office2010

### Graphics and Interaction Rendering pipeline & object modelling

433-324 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering

### CS5620 Intro to Computer Graphics

So Far wireframe hidden surfaces Next step 1 2 Light! Need to understand: How lighting works Types of lights Types of surfaces How shading works Shading algorithms What s Missing? Lighting vs. Shading

### graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time

### Local vs. Global Illumination & Radiosity

Last Time? Local vs. Global Illumination & Radiosity Ray Casting & Ray-Object Intersection Recursive Ray Tracing Distributed Ray Tracing An early application of radiative heat transfer in stables. Reading

### Computer Graphics. Lecture 14 Bump-mapping, Global Illumination (1)

Computer Graphics Lecture 14 Bump-mapping, Global Illumination (1) Today - Bump mapping - Displacement mapping - Global Illumination Radiosity Bump Mapping - A method to increase the realism of 3D objects

### graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time

### Fast Calculation of Soft Shadow Textures Using Convolution

Using Fast Calculation of Soft Shadow Textures Using Convolution Cyril Soler and Francois X. Sillion To Implement Real Time Shadows for Interactive Applications Adam Moravanszky Presentation GDV-Seminar

### The Rendering Equation & Monte Carlo Ray Tracing

Last Time? Local Illumination & Monte Carlo Ray Tracing BRDF Ideal Diffuse Reflectance Ideal Specular Reflectance The Phong Model Radiosity Equation/Matrix Calculating the Form Factors Aj Ai Reading for

### Topic 9: Lighting & Reflection models 9/10/2016. Spot the differences. Terminology. Two Components of Illumination. Ambient Light Source

Topic 9: Lighting & Reflection models Lighting & reflection The Phong reflection model diffuse component ambient component specular component Spot the differences Terminology Illumination The transport

Visual cues to 3D geometry Light Reflection and Advanced Shading size (perspective) occlusion shading CS 4620 Lecture 17 1 2 Shading Recognizing materials Variation in observed color across an object strongly

### Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural

1 Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural to consider using it in video games too. 2 I hope that

### Illumination and Geometry Techniques. Karljohan Lundin Palmerius

Illumination and Geometry Techniques Karljohan Lundin Palmerius Objectives Complex geometries Translucency Huge areas Really nice graphics! Shadows Graceful degradation Acceleration Optimization Straightforward

### Computer Graphics. Illumination and Shading

() Illumination and Shading Dr. Ayman Eldeib Lighting So given a 3-D triangle and a 3-D viewpoint, we can set the right pixels But what color should those pixels be? If we re attempting to create a realistic

### CS 325 Computer Graphics

CS 325 Computer Graphics 04 / 02 / 2012 Instructor: Michael Eckmann Today s Topics Questions? Comments? Illumination modelling Ambient, Diffuse, Specular Reflection Surface Rendering / Shading models Flat

### Chapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.

Chapter 11 Global Illumination Part 1 Ray Tracing Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.3 CG(U), Chap.11 Part 1:Ray Tracing 1 Can pipeline graphics renders images

### 03 RENDERING PART TWO

03 RENDERING PART TWO WHAT WE HAVE SO FAR: GEOMETRY AFTER TRANSFORMATION AND SOME BASIC CLIPPING / CULLING TEXTURES AND MAPPING MATERIAL VISUALLY DISTINGUISHES 2 OBJECTS WITH IDENTICAL GEOMETRY FOR NOW,