360 likes | 503 Views
Differential Instant Radiosity for Mixed Reality. Martin Knecht, Christoph Traxler, Oliver Mattausch, Werner Purgathofer, Michael Wimmer Institute of Computer Graphics and Algorithms Vienna University of Technology. Motivation. Motivation. Problem statement.
E N D
Differential Instant Radiosity for Mixed Reality Martin Knecht, Christoph Traxler, Oliver Mattausch, Werner Purgathofer, Michael Wimmer Institute of Computer Graphics and AlgorithmsVienna University of Technology
Motivation Martin Knecht
Motivation Martin Knecht
Problem statement • Virtual objects should seamlessly blend into the real scene • Provide a plausible illusion • Simulation of light interaction between real and virtual objects is necessary • Solution should run at interactive to real-time frame rates Martin Knecht
Related Work • Image Based Lighting • Ritschel and Grosch used a HDR camera to capture environment • Hierarchical Importance Sampling, Clarberg • Real-time Global Illumination • Instant Radiosity introduced by Keller • Imperfect Shadow Maps from Ritschel et. al • Merging Real and Virtual Scenes • Differential Rendering introduced by Fournier and extended by Debevec • Differential Photon Mapping from Grosch Martin Knecht
Assumptions Geometry of real scene known BRDFs of real surfaces are known Surrounding illumination is distant Martin Knecht
Differential Instant Radiosity for MR • Idea: Combine Differential Rendering (DR) with Instant Radiosity (IR) • Why? DR adds virtual objects to real scene IR fast method to compute GI solution in real-time • But: Two solutions are needed for DR! not really • How? Keep track on the light paths Martin Knecht
GI - Instant Radiosity • Use Virtual Point Lights (VPLs) to approximate global illumination Martin Knecht
GI - Instant Radiosity • Use Virtual Point Lights (VPLs) to approximate global illumination Martin Knecht
GI - Instant Radiosity • Use Virtual Point Lights (VPLs) to approximate global illumination Martin Knecht
GI - Instant Radiosity • Use Virtual Point Lights (VPLs) to approximate global illumination Martin Knecht
GI - Instant Radiosity • Use Virtual Point Lights (VPLs) to approximate global illumination Martin Knecht
Differential Rendering • Method to add virtual objects into real scene images • Compute two global illumination solutions and add only difference to real scene image + Minimizes visual error from wrong BRDF approximations - We need to calculate two GI solutions in real-time Martin Knecht
Differential Rendering GI(Real + Virtual) GI(Real) Difference Buffer Grey means no difference Martin Knecht
Differential Rendering Masked Video Image Difference Buffer Final Image Martin Knecht
Heckberts classification Courtesy of Paul Guerrero • How to get GI(Real+Virtual) and GI(Real)? • Keep track on the light paths • L: Lightsource • D: Diffuse light bounce • S: Specular light bounce • E: Eye Martin Knecht
Heckberts classification Courtesy of Paul Guerrero • How to get GI(Real+Virtual) and GI(Real)? • Keep track on the light paths • L: Lightsource • D: Diffuse light bounce • S: Specular light bounce • E: Eye • Direct illumination: LDE Martin Knecht
Heckberts classification Courtesy of Paul Guerrero • How to get GI(Real+Virtual) and GI(Real)? • Keep track on the light paths • L: Lightsource • D: Diffuse light bounce • S: Specular light bounce • E: Eye • Direct illumination: LDE • 1st bounce diffuse indirect illumination: LDDE Martin Knecht
Differential Instant Radiosity for MR Calculate shading result only once Decide on path information to which GI solution the result belongs L[x]D[x]E L[x]D[x]D[x]E [x] can be „real“ or „virtual“ All „real“ then add to GI(Real+Virtual) and GI(Real) One [x] „virtual“, only add to GI(Real+Virtual) Martin Knecht
Differential Instant Radiosity for MR • LRDRDRE path GI(Real + Virtual) GI(Real) Martin Knecht
Differential Instant Radiosity for MR • LRDRDRE path • Added to both Buffers GI(Real + Virtual) GI(Real) Martin Knecht
Differential Instant Radiosity for MR • LRDRDVE path GI(Real + Virtual) GI(Real) Martin Knecht
Differential Instant Radiosity for MR • LRDRDVE path • Add only to the GI(Real+Virtual) Buffer GI(Real + Virtual) GI(Real) Martin Knecht
Differential Instant Radiosity for MR • Take blocking geometry into account Martin Knecht
Differential Instant Radiosity for MR • LRDRDRE path GI(Real + Virtual) GI(Real) Martin Knecht
Differential Instant Radiosity for MR • LRDRDRE path • Virtual red wall blocks light! GI(Real + Virtual) GI(Real) Martin Knecht
Limitations Martin Knecht
Limitations Double shadowing Incosistent color bleeding Martin Knecht
Results • Test device • Core2 Quad CPU Q9550 at 2.8GHz • 8GB RAM • NVIDIA Geforce GTX 285 with 1GB VRAM • Windows 7 64-Bit • C# with SlimDX to access DirectX 10 Martin Knecht
Results Martin Knecht
Results Martin Knecht
Results Martin Knecht
Results Martin Knecht
Our method uses instant radiosity to simulate mutual influence between objects Direct Illumination Indirect Illumination Combination of Differential Rendering and Instant Radiosity Lightsources, objects, camera can be dynamic Cannot take all paths into account Works reasonable fast (20 – 30 fps) Conclusion Martin Knecht
Consider all light paths Add camera artifacts Camera-based, real-time reconstruction of geometry Real-time BRDF estimation Future Work Martin Knecht
Thank you for your attention! Martin Knecht