vlf rendering & implementation details

32
VLF Rendering & Implementation Details Virtual Light Field Group [email protected] c.uk University College GR/ R13685/01 Research funded by: Jesper Mortensen [email protected]

Upload: madison

Post on 12-Jan-2016

45 views

Category:

Documents


0 download

DESCRIPTION

Research funded by:. Virtual Light Field Group [email protected] University College London. GR/R13685/01. VLF Rendering & Implementation Details. Jesper Mortensen [email protected]. Overview. Rendering from the VLF Implementation details Walkthrough results Limitations - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: VLF Rendering & Implementation Details

VLF Rendering & Implementation Details

Virtual Light Field [email protected] College London

GR/R13685/01

Research funded by:

Jesper [email protected]

Page 2: VLF Rendering & Implementation Details

VLF Project

Overview

Rendering from the VLF Implementation details Walkthrough results Limitations Future work Questions

Page 3: VLF Rendering & Implementation Details

VLF Project

Rendering: VLF

The VLF can be used to render any ray Determine intersected polygons with false colour

rendering Lookup hemisphere triangle in which direction falls, with

barycentric coordinates In each direction lookup the TRM for the intersected

polygon Interpolate radiance in TRM from 8-neighbourhood Apply barycentric weights to interpolate the 3 radiances

Page 4: VLF Rendering & Implementation Details

VLF Project

Rendering: VLF

However, due to limited resolution blurring may occur

Especially for specular surfaces Expensive:

- 3 dirs * 9 TRM cells * rays Example has 2K directions,

128x128 resolution

Page 5: VLF Rendering & Implementation Details

VLF Project

Rendering: Diffuse textures

The VLF also stores diffuse maps for any diffuse surface

These can be efficiently rendered using D3D/OpenGL

Limiting blurring to non-diffuse surfaces

Page 6: VLF Rendering & Implementation Details

VLF Project

Rendering: Backwards ray tracing

Backwards ray tracing can be used for specular parts

Can reconstruct specularly reflected geometry well

Bounces until diffuse surface hit Can be slow if a large part of the

scene is specular

Page 7: VLF Rendering & Implementation Details

VLF Project

Rendering: Progressive method

Hybrid method Uses OpenGL texturing for diffuse surfaces Uses direct VLF lookup for specular surfaces

during motion If viewpoint is stationary renders specular

reflection using backwards ray tracing

Page 8: VLF Rendering & Implementation Details

VLF Project

Implementation: Language

Class based C++ Heavy use of class templates

- flexibility- efficiency, can tailor implementation- con: must recompile

Page 9: VLF Rendering & Implementation Details

VLF Project

Implementation: Platform

PC based Windows 2000/XP Visual Studio .NET

Page 10: VLF Rendering & Implementation Details

VLF Project

Implementation: Graphics API

Graphics API: OpenGL Standard pbuffers Used for ‘false colour’ rendering [visibility]

- exchange buffers- rendering phase

Main issue is slow framebuffer readback

Page 11: VLF Rendering & Implementation Details

VLF Project

Implementation: Libraries

Hierarchical scene graph library- facesets, spheres, blobs etc.

Graphics library- matrices, vectors, materials, cameras etc.

VLF library- tiles, radiance maps, diffuse maps etc.

Page 12: VLF Rendering & Implementation Details

VLF Project

Implementation: Dependencies

Glut- http://www.opengl.org/developers/documentation/glut/

Zlib- http://www.gzip.org/zlib/

Jpeglib- http://www.ijg.org/

Page 13: VLF Rendering & Implementation Details

VLF Project

Implementation: GI framework

General framework for Global Illumination Supports many approximations…

Page 14: VLF Rendering & Implementation Details

VLF Project

Implementation: OpenGL real-time

OpenGL rendering for real-time local illumination

Page 15: VLF Rendering & Implementation Details

VLF Project

Implementation: Radiosity

Progressive radiosity- Cohen et .al 1988

Page 16: VLF Rendering & Implementation Details

VLF Project

Implementation: Classic ray tracing

Whitted ray tracing- Turner Whitted 1980

Page 17: VLF Rendering & Implementation Details

VLF Project

Implementation: Distributed ray tracing

Distributed ray tracing- Robert L. Cook et. al. 1984

Page 18: VLF Rendering & Implementation Details

VLF Project

Implementation: Path tracing

Coming soon … Monte Carlo path tracing- James T. Kajiya 1986

Page 19: VLF Rendering & Implementation Details

VLF Project

Implementation: VLFs

And of course – Virtual Light Fields… Diffuse Specular Caustics

Page 20: VLF Rendering & Implementation Details

VLF Project

Implementation: VLF applications

There are three main applications currently: VLF analyser

- visualises elements of the VLF, PSFs, tiles, maps, visibility etc. good debugging tool

VLF propagator- solves GI for a VLF, outputs binary VLF files, can reload and continue from a binary file

VLF walkthrough- loads a binary VLF file and renders it in real-time

Page 21: VLF Rendering & Implementation Details

VLF Project

Implementation: HDR viewer

GI results are natively HDR but display devices are inherently LDR [24 bit RGB]!

We have our own file format- similar to Wards radiance format

32 bit floats RGB interleaved- optionally zip compressed

… and an associated viewer

Page 22: VLF Rendering & Implementation Details

VLF Project

Implementation: HDR viewer (contd.)

Uses simple linear scaling approaches Or tone mapping a la Reinhard et. al. 2002

Page 23: VLF Rendering & Implementation Details

VLF Project

Walkthrough results

The following shows results from walkthroughs of VLFs

The illustrate real-time performance for scenes with global illumination effects

They were all rendered on a dual 2.8 GHZ Pentium 4 Xeon with 3GB RAM, and a NVIDIA GeForce FX5800

Page 24: VLF Rendering & Implementation Details

VLF Project

Walkthrough results: Cornell scene

This illustrates diffuse GI effects such as colour bleeding and soft shadows

The VLF uses 2K directions and 8x8 tiles each having 16x16 cells

The progressive method is used for rendering

Page 25: VLF Rendering & Implementation Details

VLF Project

Walkthrough results: Cornell scene

SHOW CORNELL VIDEO

Page 26: VLF Rendering & Implementation Details

VLF Project

Walkthrough results: Office scene

This illustrates GI effects such as specular reflections, soft shadows and colour bleeding

The VLF uses 2K directions and 8x8 tiles each having 16x16 cells

Memory usage is 980MB, propagation time was 36 hrs.

The progressive method and CRT method used for rendering

Page 27: VLF Rendering & Implementation Details

VLF Project

Walkthrough results: Office scene

SHOW PROGRESSIVE OFFICE VIDEO

SHOW CRT OFFICE VIDEO

Page 28: VLF Rendering & Implementation Details

VLF Project

Walkthrough results: GI benchmark

Global illumination test scene from Smits & Jensens repository:- http://www.cs.utah.edu/~bes/papers/scenes/

Illustrates several interesting light paths: LDE, LDSE, LDSDE (of which the last is a caustic)

The VLF uses 2K directions and 8x8 tiles each having 16x16 cells

Propagation time was 33 hrs. The progressive method used for rendering

Page 29: VLF Rendering & Implementation Details

VLF Project

Walkthrough results: GI benchmark

SHOW GI BENCHMARK VIDEO

Page 30: VLF Rendering & Implementation Details

VLF Project

Limitations

Limited to planar geometry Support for basic materials No participating media Closed polyhedra

Page 31: VLF Rendering & Implementation Details

VLF Project

Whats next?

Investigate alternative rendering methods- Lens approach

Optimise, graphics hardware

Page 32: VLF Rendering & Implementation Details

VLF Project

Questions

?