Advanced Computer Graphics CS 563: VPL based RT GI Techniques - - PowerPoint PPT Presentation

advanced computer graphics cs 563 vpl based rt gi
SMART_READER_LITE
LIVE PREVIEW

Advanced Computer Graphics CS 563: VPL based RT GI Techniques - - PowerPoint PPT Presentation

Advanced Computer Graphics CS 563: VPL based RT GI Techniques William DiSanto Computer Science Dept. Worcester Polytechnic Institute (WPI) Instant Radiosity 1997 Keller Fast and physically accurate Models diffuse lighting Virtual


slide-1
SLIDE 1

Advanced Computer Graphics CS 563: VPL‐based RT‐GI Techniques William DiSanto

Computer Science Dept. Worcester Polytechnic Institute (WPI)

slide-2
SLIDE 2

Instant Radiosity

 1997 Keller  Fast and physically accurate  Models diffuse lighting

slide-3
SLIDE 3

Virtual Point Light

 Hemispherical light with cosine falloff  Positioned by emitting particles from light source  Some way to end bounces

slide-4
SLIDE 4

Derivation of Instant Radiocity

 Rendering Equation  Operator R: Express as sum of indirect illumination

slide-5
SLIDE 5

Derivation of Instant Radiocity

 Express rendering equation as an integration over

the observable light from first hit surface

 Express surface lighting term by sampling direct and

indirect paths

slide-6
SLIDE 6

Rendering Operator: Reflect >= 1

 Express Rendering Equation as sampling along variable

length paths

 Function V could be visibility from AO (inviting error)

 Compute Indirect: over Path Lengths (j), Pixels,

Paths, and Light Sources

slide-7
SLIDE 7

Derivation of Instant Radiocity

 Radiance after j reflections:  Assume perfectly diffuse BRDF (constant term)

slide-8
SLIDE 8

IR Result

Samples from Area Light Bounces

slide-9
SLIDE 9

Making the Algorithm Practical

 Limit number of samples virtual point lights and

number of bounces

 Proportional to reflectivity of the media  Assume less the perfect reflection ( < 1)

 Compute light observed in terms of radiance from

  • riginal light source propagated over some number of

bounces

slide-10
SLIDE 10

Implementation of Instant Radiocity

Start with N particles at light

Determine samples remaining

Select a originator from light source

Trace through reflections

Loop until no samples are left : Light Power : Average Diffuse : Projection Direction Next Slide

slide-11
SLIDE 11

Implementation of Instant Radiocity

 Render all 1st 2nd, 3rd bounce

VPLs together

 All radiation from a sample

particle rendered in one iteration : hit point : diffuse attenuation :random direction

slide-12
SLIDE 12

Sampling

 Random  Jitter  Halton

slide-13
SLIDE 13

Omni‐Directional RSMs

slide-14
SLIDE 14

Problems with IR

 Requires many renders, possibly shadow maps  Requires many VPLs

 100+ for static scene

 Interactive rates reached with averaging renders

 1000+ for dynamic scene

slide-15
SLIDE 15

Problems with IR

 Specular surfaces reveal locations of VPLs

slide-16
SLIDE 16

Problems with IR

 Render many detailed shadow maps

slide-17
SLIDE 17

Incremental Instant Radiosity

 Scenes can be rendered fairly accurately with

  • nly one bounce

 Use Reflective Shadow Map to distribute first

bounce Virtual Point Lights

slide-18
SLIDE 18

Incremental Instant Radiosity

 Reuse VPLs from previous renders

 Budget 4‐8 new VPLs per new frame

 Allows for moving light sources  Assumes a static scene (could be large)  Good frame rates 40+

slide-19
SLIDE 19

Procedure: Find Bad VPLs

 1. Determine valid VPLs  2. Remove invalid VPLs

 Occluded from light source  Behind view of light source

slide-20
SLIDE 20

Procedure: Find Bad VPLs

 Generate Voronoi Diagram and Delaunay Triangulation for

point set (left)

 Some VPLS may be removed if they contribute to regions

where virtual point light density is too great (right)

Characterized by having short edge lengths

slide-21
SLIDE 21

Procedure: Seed VPLs

 3.a Create VPLs within budget and render SMs

Long edges are good places to seed new VPLs

 4. Compute new Voronoi Area and weight intensity for

VPLs accordingly

slide-22
SLIDE 22

Procedure: Project

 3.b Render Shadow maps for new VPLs

Project new VPL distribution onto hemisphere

slide-23
SLIDE 23

Procedure: Render

 5. Perform deferred render pass

 store: position, normals, color

 6. Tile the G‐Buffer (will reduce texture lookups)  7. Loop over tiles

 use subset of VPLs to color each tile, results in noise

slide-24
SLIDE 24

Procedure: Recombine + Smooth

 8. Combine tiles back into full resolution image  9. Use spatially aware box filter (example on 4x4 tiling)

 Same size as tiling  May require some tuning

slide-25
SLIDE 25

IIR: Results

slide-26
SLIDE 26

IIR: Problems

 Diffuse surfaces only  View dependent  Dynamic scenes will have lagging shadows  This GI takes 70+ % of rendering budget  Does have nice overall render times

slide-27
SLIDE 27

Imperfect Shadow Maps

 Attempts indirect illumination for dynamic scenes  For many scenes: Indirect illumination varies smoothly  Each VPL has a small contribution

slide-28
SLIDE 28

Imperfect Shadow Maps

 Depth Renders do not need to be terribly accurate  Attempt to render 1000+ ISMs

slide-29
SLIDE 29

Procedure: VPL Generation

 Render Omni‐Directional RSM

 Randomly seed VPLs by importance (some PDF)

slide-30
SLIDE 30

Procedure: Pre‐Processing

 Randomly sample geometry  Select triangles with probability proportional to area

 Select a random 3D point on each selected triangle

 Store barycentric coordinates with points

 Used to calculate normal and reflectance

slide-31
SLIDE 31

Procedure: ISM Generation

 Each VPL selects a sub sample of points  Points are splat onto each depth map (GL_Points)  Dynamic scenes are handled by deforming points

slide-32
SLIDE 32

Procedure: Pull Push Interpolation

 Vertex buffer distributes points to ISMs evenly  Gaps are filled with push‐pull, errors average out

slide-33
SLIDE 33

Procedure: Pull Push Interpolation

 Interpolation performed in texture space  Parallel operation  Averaging of all ISM increases shadow smoothness

slide-34
SLIDE 34

Procedure: Interleaved Sampling

 Filter indirect light separately from direct light  Indirect light is interleaved  Same as in incremental instant radiocity  May need to tune parameters

slide-35
SLIDE 35

Procedure: Multiple Bounces

 Distribute from cube maps of omni‐directional light

1024 VPLs first bounce (left)

+ 256 VPLs second bounce (middle)

+ 256 VPLs third bounce (right)

slide-36
SLIDE 36

Problems

 Works best with low gloss surfaces  Arbitrary tuning

 Will not operate the same for every scene  For different kinds of lighting

 As of 2009 offers only interactive frame rates  Does not scale well for large scenes  Indirect lighting still accounts for the majority of the

render budget

slide-37
SLIDE 37

Results: Complex Geometry

 Extends well to arbitrary shapes

 1024 VPLs  256x256 with subset of 4,000 points each

slide-38
SLIDE 38

Results: Direct Lighting

 Complex area lights

512 VPLS

256x256 with subset of 8,000 points each

slide-39
SLIDE 39

Results: Glossy

 4096 VPLs, 64x64 resolution, subset of 2,000 points each  Problem with hard shadows

slide-40
SLIDE 40

Results: Environmental Maps

 Direct Environment Lighting

1024 VPLs

256x256 with subset of 8,000 points each

slide-41
SLIDE 41

Results: Sponza Scene

 7 ms VPL generation  44 ms ISM  8 ms Pull‐Push  15 ms Rendering  4 ms Blur  11 ms Direct Lighting

slide-42
SLIDE 42

Results: Accuracy

Parameters can be manually adjusted to fit the scene (splat size, resolution, point samples)

slide-43
SLIDE 43

Results: Render Time

slide-44
SLIDE 44

References

 Alexander Keller, Instant Radiosity, Proceedings of

the 24th annual conference on Computer graphics and interactive techniques, p.49‐56, August 1997

 Laine, S., Saransaari, H., Kontkanen, J., Lehtinen, J.,

and Aila, T. 2007. Incremental Instant Radiosity for Real‐Time Indirect Illumination. In Proc. of the Eurographics Symposium on Rendering, 277‐‐286.

slide-45
SLIDE 45

References

 T. Ritschel , T. Grosch , M. H. Kim , H.‐P. Seidel , C.

Dachsbacher , J. Kautz, Imperfect shadow maps for efficient computation of indirect illumination, ACM Transactions on Graphics (TOG), v.27 n.5, December 2008

 Carsten Dachsbacher , Jan Kautz, Real‐time global

illumination for dynamic scenes, ACM SIGGRAPH 2009 Courses, p.1‐217, August 03‐07, 2009, New Orleans, Louisiana