1 / 32

VLF Rendering & Implementation Details

Research funded by:. Virtual Light Field Group vlfproject@cs.ucl.ac.uk University College London. GR/R13685/01. VLF Rendering & Implementation Details. Jesper Mortensen j.mortensen@cs.ucl.ac.uk. Overview. Rendering from the VLF Implementation details Walkthrough results Limitations

madison
Télécharger la présentation

VLF Rendering & Implementation Details

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Research funded by: Virtual Light Field Group vlfproject@cs.ucl.ac.uk University College London GR/R13685/01 VLF Rendering & Implementation Details Jesper Mortensen j.mortensen@cs.ucl.ac.uk

  2. Overview • Rendering from the VLF • Implementation details • Walkthrough results • Limitations • Future work • Questions

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. Implementation: Language • Class based C++ • Heavy use of class templates- flexibility- efficiency, can tailor implementation- con: must recompile

  9. Implementation: Platform • PC based • Windows 2000/XP • Visual Studio .NET

  10. Implementation: Graphics API • Graphics API: OpenGL • Standard pbuffers • Used for ‘false colour’ rendering [visibility]- exchange buffers- rendering phase • Main issue is slow framebuffer readback

  11. 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.

  12. Implementation: Dependencies • Glut- http://www.opengl.org/developers/documentation/glut/ • Zlib- http://www.gzip.org/zlib/ • Jpeglib- http://www.ijg.org/

  13. Implementation: GI framework • General framework for Global Illumination • Supports many approximations…

  14. Implementation: OpenGL real-time • OpenGL rendering for real-time local illumination

  15. Implementation: Radiosity • Progressive radiosity- Cohen et .al 1988

  16. Implementation: Classic ray tracing • Whitted ray tracing- Turner Whitted 1980

  17. Implementation: Distributed ray tracing • Distributed ray tracing- Robert L. Cook et. al. 1984

  18. Implementation: Path tracing • Coming soon … Monte Carlo path tracing- James T. Kajiya 1986

  19. Implementation: VLFs • And of course – Virtual Light Fields… • Diffuse • Specular • Caustics

  20. 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

  21. 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

  22. Implementation: HDR viewer (contd.) • Uses simple linear scaling approaches • Or tone mapping a la Reinhard et. al. 2002

  23. 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

  24. 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

  25. Walkthrough results: Cornell scene SHOW CORNELL VIDEO

  26. 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

  27. Walkthrough results: Office scene SHOW PROGRESSIVE OFFICE VIDEO SHOW CRT OFFICE VIDEO

  28. 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

  29. Walkthrough results: GI benchmark SHOW GI BENCHMARK VIDEO

  30. Limitations • Limited to planar geometry • Support for basic materials • No participating media • Closed polyhedra

  31. Whats next? • Investigate alternative rendering methods- Lens approach • Optimise, graphics hardware

  32. Questions ?

More Related