Real-Time Rendering COMS 6998-3, Lecture 9. Real-Time Rendering Demo Motivation: Interactive rendering with complex natural illumination and realistic,

Slides:



Advertisements
Similar presentations
Jan Kautz, MPI Informatik Peter-Pike Sloan, Microsoft Research
Advertisements

Computer Graphics methods
Computer graphics & visualization Global Illumination Effects.
Environment Mapping CSE 781 – Roger Crawfis
Real-Time High Quality Rendering CSE 291 [Winter 2015], Lecture 3 Shadow and Environment Mapping
Spherical Convolution in Computer Graphics and Vision Ravi Ramamoorthi Columbia Vision and Graphics Center Columbia University SIAM Imaging Science Conference:
Spherical Harmonic Lighting of Wavelength-dependent Phenomena Clifford Lindsay, Emmanuel Agu Worcester Polytechnic Institute (USA)
Week 10 - Monday.  What did we talk about last time?  Global illumination  Shadows  Projection shadows  Soft shadows.
3D Graphics Rendering and Terrain Modeling
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
Computer Graphics Bing-Yu Chen National Taiwan University.
Advanced Computer Graphics
Foundations of Computer Graphics (Spring 2012) CS 184, Lecture 21: Radiometry Many slides courtesy Pat Hanrahan.
Advanced Computer Graphics (Spring 2013) CS 283, Lecture 8: Illumination and Reflection Many slides courtesy.
Advanced Computer Graphics (Fall 2009) CS 294, Rendering Lecture 7: High Quality Real-Time Rendering Ravi Ramamoorthi
Rendering with Environment Maps Jaroslav Křivánek, KSVI, MFF UK
Week 9 - Wednesday.  What did we talk about last time?  Fresnel reflection  Snell's Law  Microgeometry effects  Implementing BRDFs  Image based.
Preserving Realism in real-time Rendering of Bidirectional Texture Functions Jan Meseth, Gero Müller, Reinhard Klein Bonn University Computer Graphics.
Master Thesis Lighting and materials for real-time game engines
A Signal-Processing Framework for Forward and Inverse Rendering COMS , Lecture 8.
An Efficient Representation for Irradiance Environment Maps Ravi Ramamoorthi Pat Hanrahan Stanford University.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 18: Precomputation-Based Real-Time Rendering Ravi Ramamoorthi
Computer Graphics (Fall 2005) COMS 4160, Lecture 16: Illumination and Shading 1
Computational Fundamentals of Reflection COMS , Lecture
Computer Graphics (Spring 2008) COMS 4160, Lecture 20: Illumination and Shading 2
Advanced Computer Graphics (Fall 2009) CS , Lecture 1: Introduction and History Ravi Ramamoorthi Some.
A Signal-Processing Framework for Forward and Inverse Rendering Ravi Ramamoorthi Ravi Ramamoorthi
(conventional Cartesian reference system)
Computer Graphics (Fall 2008) COMS 4160, Lecture 19: Illumination and Shading 2
Real-Time High Quality Rendering COMS 6160 [Fall 2004], Lecture 4 Shadow and Environment Mapping
Approximate Soft Shadows on Arbitrary Surfaces using Penumbra Wedges Tomas Akenine-Möller Ulf Assarsson Department of Computer Engineering, Chalmers University.
7M836 Animation & Rendering
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 1: Introduction and History Ravi Ramamoorthi
Real-Time High Quality Rendering COMS 6160 [Fall 2004], Lecture 3 Overview of Course Content
Precomputed Radiance Transfer Harrison McKenzie Chapter.
Fast Global-Illumination on Dynamic Height Fields
A Signal-Processing Framework for Forward and Inverse Rendering Ravi Ramamoorthi Stanford University Columbia University: Feb 11, 2002.
Computer Graphics (Fall 2004) COMS 4160, Lecture 16: Illumination and Shading 2 Lecture includes number of slides from.
Computer Graphics Shadows
Erdem Alpay Ala Nawaiseh. Why Shadows? Real world has shadows More control of the game’s feel  dramatic effects  spooky effects Without shadows the.
Computer Graphics Mirror and Shadows
1 Texturing. 2 What is Texturing? 3 Texture Mapping Definition: mapping a function onto a surface; function can be:  1, 2, or 3D  sampled (image) or.
Pre-computed Radiance Transfer Jaroslav Křivánek, KSVI, MFF UK
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
-Global Illumination Techniques
Real-Time Rendering Digital Image Synthesis Yung-Yu Chuang 01/03/2006 with slides by Ravi Ramamoorthi and Robin Green.
Real-time Shadow Mapping. Shadow Mapping Shadow mapping uses two-pass rendering - render depth texture from the light ’ s point-of-view - render from.
An Efficient Representation for Irradiance Environment Maps Ravi Ramamoorthi Pat Hanrahan Stanford University SIGGRAPH 2001 Stanford University SIGGRAPH.
Real-Time Relighting Digital Image Synthesis Yung-Yu Chuang 1/10/2008 with slides by Ravi Ramamoorthi, Robin Green and Milos Hasan.
Taku KomuraComputer Graphics Local Illumination and Shading Computer Graphics – Lecture 10 Taku Komura Institute for Perception, Action.
View-Dependent Precomputed Light Transport Using Nonlinear Gaussian Function Approximations Paul Green 1 Jan Kautz 1 Wojciech Matusik 2 Frédo Durand 1.
All-Frequency Shadows Using Non-linear Wavelet Lighting Approximation Ren Ng Stanford Ravi Ramamoorthi Columbia SIGGRAPH 2003 Pat Hanrahan Stanford.
Rendering Fake Soft Shadows with Smoothies Eric Chan Massachusetts Institute of Technology.
Real-Time High Quality Rendering CSE 291 [Winter 2015], Lecture 2 Graphics Hardware Pipeline, Reflection and Rendering Equations, Taxonomy of Methods
SIGGRAPH 2010 Course: Physically Based Shading Models in Film and Game Production SIGGRAPH 2010 Physically Based Shading Models in Film and Game Production.
Global Illumination. Local Illumination  the GPU pipeline is designed for local illumination  only the surface data at the visible point is needed to.
Local Illumination and Shading
Real-Time Dynamic Shadow Algorithms Evan Closson CSE 528.
Shadows David Luebke University of Virginia. Shadows An important visual cue, traditionally hard to do in real-time rendering Outline: –Notation –Planar.
1 Shadow Rendering Techniques: Hard and Soft Author: Jamiur Rahman Supervisor: Mushfiqur Rouf Department of CSE BRAC University.
Toward Real-Time Global Illumination. Global Illumination == Offline? Ray Tracing and Radiosity are inherently slow. Speedup possible by: –Brute-force:
Toward Real-Time Global Illumination. Project Ideas Distributed ray tracing Extension of the radiosity assignment Translucency (subsurface scattering)
Shuen-Huei Guan Seminar in CMLab, NTU
Texturing CMSC 435/ What is Texturing? 2 Texture Mapping Definition: mapping a function onto a surface; function can be: – 1, 2, or 3D – sampled.
Advanced Computer Graphics
Advanced Computer Graphics
3D Graphics Rendering PPT By Ricardo Veguilla.
So Far We have assumed that we know: The point The surface normal
Real-time Rendering Shadow Maps
Real-time Global Illumination with precomputed probe
Presentation transcript:

Real-Time Rendering COMS , Lecture 9

Real-Time Rendering Demo Motivation: Interactive rendering with complex natural illumination and realistic, measured BRDFs

Complex Light Transport

Challenges Illumination complexity Material (BRDF)/view complexity Transport complexity (shadows, interreflection)

Reflection Maps Blinn and Newell, 1976

Environment Maps Miller and Hoffman, 1984

Environment Maps Interface, Chou and Williams (ca. 1985)

Environment Maps Cubical Environment Map 180 degree fisheye Photo by R. Packo Cylindrical Panoramas

Reflectance Maps Reflectance Maps (Index by N) Horn, 1977 Irradiance (N) and Phong (R) Reflection Maps Hoffman and Miller, 1984 Mirror Sphere Chrome SphereMatte Sphere

Irradiance Environment Maps Incident Radiance (Illumination Environment Map) Irradiance Environment Map R N

Assumptions Diffuse surfaces Distant illumination No shadowing, interreflection Hence, Irradiance is a function of surface normal

Diffuse Reflection Radiosity (image intensity) Reflectance (albedo/texture) Irradiance (incoming light) × = quake light map

Analytic Irradiance Formula Lambertian surface acts like low-pass filter

9 Parameter Approximation Exact image Order 0 1 term RMS error = 25 %

9 Parameter Approximation Exact image Order 1 4 terms RMS Error = 8%

9 Parameter Approximation Exact image Order 2 9 terms RMS Error = 1% For any illumination, average error < 3% [Basri Jacobs 01]

Comparison Incident illumination 300x300 Irradiance map Texture: 256x256 Hemispherical Integration 2Hrs Irradiance map Texture: 256x256 Spherical Harmonic Coefficients 1sec

Rendering Irradiance approximated by quadratic polynomial Surface Normal vector column 4-vector 4x4 matrix (depends linearly on coefficients L lm )

Hardware Implementation Simple procedural rendering method (no textures) Requires only matrix-vector multiply and dot-product In software or NVIDIA vertex programming hardware

Reflectance Space Shading Cabral, Olano, Nemec 1999

OLF Parameterization N L N V

N V N V R Reparameterize by reflection vector

OLF Parameterization Captures structure of BRDF (and hence OLF) better Reflective BRDFs become low-dimensional N V N V R Reparameterize by reflection vector

OLF Structure: Lafortune View y Single 2D reflection map no longer sufficient But variation with viewing direction is slow View x

OLF Structure: Lafortune View maps vary slowly Reflection x Reflection y View y View x

A Simple Factorization View x View y Reflection y Reflection x *

Precomputed Radiance Transfer for Real-Time Rendering in Dynamic, Low-Frequency Lighting Environments Peter-Pike Sloan, Microsoft Research Jan Kautz, MPI Informatik John Snyder, Microsoft Research

Previous Work – Where We Fit Transport Complexity Lighting simple shadows point lights full env. map inter- reflections single area light ??[Moeller02] [Blinn76] [Heidrich00] [Crow77] [Ashikhmin02] our technique Non-Interactive[Matusik02]

Motivation Better light integration and transport dynamic, area lights self-shadowing interreflections For diffuse and glossy surfaces At real-time rates point light area light area lighting, no shadows area lighting, shadows

light 2D example, piecewise constant basis, shadows only Diffuse Self-Transfer Preprocess Project Light light Rendering = = =

Precomputation Basis 16 Basis 17 Basis 18 illuminateresult......

Diffuse Transfer Results No Shadows/Inter Shadows Shadows+Inter No Shadows/Inter Shadows Shadows+Inter

Arbitrary BRDF Results Other BRDFs Spatially Varying Anisotropic BRDFs

Shadow Mapping with Today’s OpenGL Hardware CEDEC 2001 Tokyo, Japan Mark J. Kilgard Graphics Software Engineer NVIDIA Corporation

Motivation Shadows increase scene realism Real world has shadows More control of the game’s feel dramatic effects spooky effects Other art forms recognize the value of shadows But yet most games lack realistic shadows

Common Real-time Shadow Techniques Shadow volumes Light maps Projected planar shadows Hybrid approaches

Problems Mostly tricks with lots of limitations Projected planar shadows well works only on flat surfaces Stenciled shadow volumes determining the shadow volume is hard work Light maps totally unsuited for dynamic shadows In general, hard to get everything shadowing everything

Shadow Mapping Image-space shadow determination Lance Williams published the basic idea in 1978 By coincidence, same year Jim Blinn invented bump mapping (a great vintage year for graphics) Completely image-space algorithm means no knowledge of scene’s geometry is required must deal with aliasing artifacts Well known software rendering technique Pixar’s RenderMan uses the algorithm Basic shadowing technique for Toy Story, etc.

References Important SIGGRAPH papers Lance Williams, “Casting Curved Shadows on Curved Surfaces,” SIGGRAPH 78 William Reeves, David Salesin, and Robert Cook (Pixar), “Rendering antialiased shadows with depth maps,” SIGGRAPH 87 Mark Segal, et. al. (SGI), “Fast Shadows and Lighting Effects Using Texture Mapping,” SIGGRAPH 92

Shadow Mapping Concept (1) Depth testing from the light’s point-of-view Two pass algorithm First, render depth buffer from the light’s point-of-view the result is a “depth map” or “shadow map” essentially a 2D function indicating the depth of the closest pixels to the light This depth map is used in the second pass

Shadow Mapping Concept (2) Shadow determination with the depth map Second, render scene from the eye’s point-of-view For each rasterized fragment determine fragment’s XYZ position relative to the light this light position should be setup to match the frustum used to create the depth map compare the depth value at light position XY in the depth map to fragment’s light position Z

Shadow Mapping Concept (3) The Shadow Map Comparison Two values A = Z value from depth map at fragment’s light XY position B = Z value of fragment’s XYZ light position If B is greater than A, then there must be something closer to the light than the fragment then the fragment is shadowed If A and B are approximately equal, the fragment is lit

Visualizing Shadow Mapping A fairly complex scene with shadows the point light source

Visualizing Shadow Mapping Compare with and without shadows with shadows without shadows

Visualizing Shadow Mapping The scene from the light’s point-of-view FYI: from the eye’s point-of-view again

Visualizing Shadow Mapping The depth buffer from the light’s point-of-view FYI: from the light’s point-of-view again

Visualizing Shadow Mapping Projecting the depth map onto the eye’s view FYI: depth map for light’s point-of-view again

Visualizing Shadow Mapping Comparing light distance to light depth map Green is where the light planar distance and the light depth map are approximatel y equal Non-green is where shadows should be

Visualizing Shadow Mapping Scene with shadows Notice how specular highlights never appear in shadows Notice how curved surfaces cast shadows on each other

Hardware Shadow Map Filtering “Percentage Closer” filtering Normal texture filtering just averages color components Averaging depth values does NOT work Solution [Reeves, SIGGARPH 87] Hardware performs comparison for each sample Then, averages results of comparisons Provides anti-aliasing at shadow map edges Not soft shadows in the umbra/penumbra sense

Hardware Shadow Map Filtering GL_NEAREST: blocky GL_LINEAR: antialiased edges Low shadow map resolution used to heightens filtering artifacts

Soft Shadows?

Conclusion Variety of techniques Shadows Complex illumination Complex materials Limited manipulability in most cases Cannot change lighting, geometry, viewpoint etc. Is it possible to have everything simultaneously?