160 likes | 306 Views
Eikonal Rendering: View Renderer. refEiko - View renderer. “ Eikonal Rendering: Efficient Light Transport in Refractive Objects ”, Ivo Ihrke, Gernot Ziegler, Art Tevs, Christian Theobalt, Marcus Magnor, Hans-Peter Seidel. Overview: 2 main components.
E N D
Eikonal Rendering: View Renderer refEiko - View renderer “Eikonal Rendering: Efficient Light Transport in Refractive Objects”, Ivo Ihrke, Gernot Ziegler, Art Tevs, Christian Theobalt, Marcus Magnor, Hans-Peter Seidel
Overview: 2 main components System capable of Refractive Object Rendering: • Light Simulator (pre-process, ~10 secs) • View Renderer (real-time, 5-60 fps)
Renderer • Shader Model >= 3.0 GPU • Use OpenSceneGraph (v1.2) for the low level tasks, e.g. transparency sorting, mesh rendering, etc. • nrEngine: script handling, resource management, … • Volume Ray Casting
Scene Graph based rendering (depth and transparency sorting)
Renderer • Full HDR coloralong complete rendering pipeline • Post processing by PPUG (post-processing units graph) • Completely scriptable
Scene Representation • XML description of a complete scene • Supported objects: • Camera • Light • Shader • Texture • Model (Mesh) • Entity (Static, Voxel Volume) • Environment Map (CubeMap, PlaneMap, ShadowCubeMap) • Post Processing Unit
Scene graph Root Node Renderable Root Node Environment Map Entity Entity Entity Light Group Light 1 Light 2 Mesh (Geode) Mesh (Geode)
Volume rendering • Volume rendering is required for our approach • VoxelVolume class stays for an osg node handling volume rendering • VoxelVolumeDrawable derived from osg::Drawable, implements volume rendering by a shader program • Rendering by a proxy geometry (ray casting) • Box primitive (default) • Geode as a child-node
Post Processing Effects • Post processing by a so called PPU, post processing unit • PPUs are combined into a graph • Multiple inputs for each of PPU (osg::Texture) • Multiple outputs (MRT) are implemented, but not well tested ;-( • PPUG could contribute to osg as a new node kit
PP Effects (HDR bloom, Depth of Field, Motion Blur, [+ tone mapping])
Post Processing Units Graph (Depth of Field) DoF resample 0.5 DoF resample 0.5 DoF blur horizontal DoF blur vertical DoF blur horizontal DoF blur vertical Color bypass DoF Result Depthmap bypass Taken from http://www.daionet.gr.jp/~masa/archives/GDC2003_DSTEAL.ppt
Post Processing Units Graph (HDR Bloom + tone mapping) DoF Result Downsample Compute avg. luminance Compute scaled luminance Brightpass Downsample Blur vertical Blur horizontal Tone mapping Based on http://msdn2.microsoft.com/en-us/library/bb173484.aspx
Summary & Future work • Nice renderer for our approach • HDR rendering and scripting • Osg 2.x is supported, but not well tested • osgLua implementation required • Possible contribution to the community by developing a new node kit osgPPU • New SH4.0 features are in development, hence new contribution to osg will follow: Texture2DArray, GeometryProgram, …
Advertisement • Visit our implementation sketch at Thursday, 9th August, Room 3 at San Diego Convention Center:GPU-based Light Wavefront Simulation for Real-Time Refractive Object Rendering • Google for Eikonal Rendering or just go to :http://www.mpi-inf.mpg.de/resources/EikonalRendering/anddownload slides, videos and source code. • Visit my Homepage http://www.tevs.eu ;-)