Top Banner
VRML Scene Graphs on an VRML Scene Graphs on an Interactive Ray Tracing Engine Interactive Ray Tracing Engine IEEE Virtual Reality 2004 Conference IEEE Virtual Reality 2004 Conference Chicago, IL USA Chicago, IL USA March 30 March 30 th th , 2004 , 2004 Andreas Dietrich Ingo Wald Markus Wagner Andreas Dietrich Ingo Wald Markus Wagner Philipp Slusallek Philipp Slusallek Computer Graphics Group Computer Graphics Group Saarland University Saarland University http://graphics.cs.uni-sb.de http://graphics.cs.uni-sb.de
19

Andreas Dietrich Ingo Wald Markus Wagner Philipp Slusallek Computer Graphics Group

Jan 03, 2016

Download

Documents

galvin-hatfield

VRML Scene Graphs on an Interactive Ray Tracing Engine IEEE Virtual Reality 2004 Conference Chicago, IL USA March 30 th , 2004. Andreas Dietrich Ingo Wald Markus Wagner Philipp Slusallek Computer Graphics Group Saarland University http://graphics.cs.uni-sb.de. Introduction. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Andreas Dietrich    Ingo Wald    Markus Wagner    Philipp Slusallek Computer Graphics Group

VRML Scene Graphs on anVRML Scene Graphs on anInteractive Ray Tracing EngineInteractive Ray Tracing Engine

IEEE Virtual Reality 2004 ConferenceIEEE Virtual Reality 2004 ConferenceChicago, IL USAChicago, IL USA

March 30March 30thth, 2004, 2004Andreas Dietrich Ingo Wald Markus Wagner Philipp Andreas Dietrich Ingo Wald Markus Wagner Philipp SlusallekSlusallek

Computer Graphics GroupComputer Graphics Group

Saarland UniversitySaarland University

http://graphics.cs.uni-sb.dehttp://graphics.cs.uni-sb.de

Page 2: Andreas Dietrich    Ingo Wald    Markus Wagner    Philipp Slusallek Computer Graphics Group

VR 2004VR 2004 VRML Scene Graphs on an Interactive Ray Tracing EngineVRML Scene Graphs on an Interactive Ray Tracing Engine 22

CO

MPU

TE

R G

RA

PH

IK – U

NIV

ER

SIT

ÄT

DE

S S

AA

RL

AN

DE

S

IntroductionIntroduction

• Today‘s VR systems based on rasterization Today‘s VR systems based on rasterization techniquestechniques– Quantitative evaluation difficultQuantitative evaluation difficult– Sophisticated Lighting not possible or requires too much Sophisticated Lighting not possible or requires too much

trickstricks

• Recent advances in interactive ray tracing Recent advances in interactive ray tracing technologiestechnologies– High-quality image generation at interactive frame ratesHigh-quality image generation at interactive frame rates– Ray tracing will play a larger role in industrial Ray tracing will play a larger role in industrial

visualizationvisualization

Scene graph driven VR Application based on ray Scene graph driven VR Application based on ray tracingtracing

VRML Browser ( vv )VRML Browser ( vv )

Page 3: Andreas Dietrich    Ingo Wald    Markus Wagner    Philipp Slusallek Computer Graphics Group

VR 2004VR 2004 VRML Scene Graphs on an Interactive Ray Tracing EngineVRML Scene Graphs on an Interactive Ray Tracing Engine 33

CO

MPU

TE

R G

RA

PH

IK – U

NIV

ER

SIT

ÄT

DE

S S

AA

RL

AN

DE

S

AgendaAgenda

• BackgroundBackground– Ray TracingRay Tracing

• System OverviewSystem Overview– System ComponentsSystem Components– OpenRT API CharacteristicsOpenRT API Characteristics

• Implementation IssuesImplementation Issues– Rendering & ShadingRendering & Shading– Scene Graph MappingScene Graph Mapping

• Example ApplicationsExample Applications• SummarySummary

Page 4: Andreas Dietrich    Ingo Wald    Markus Wagner    Philipp Slusallek Computer Graphics Group

VR 2004VR 2004 VRML Scene Graphs on an Interactive Ray Tracing EngineVRML Scene Graphs on an Interactive Ray Tracing Engine 44

CO

MPU

TE

R G

RA

PH

IK – U

NIV

ER

SIT

ÄT

DE

S S

AA

RL

AN

DE

S

Advantages ofAdvantages ofRay TracingRay Tracing

• Most architectures incorporating sophisticated Most architectures incorporating sophisticated illumination perform illumination perform ray tracingray tracing– Close modeling of physical light propagationClose modeling of physical light propagation– Shooting of imaginary rays into the sceneShooting of imaginary rays into the scene

• Advantages of interactive ray tracingAdvantages of interactive ray tracing

PhysicalPhysical correctnesscorrectness

Plug and play Plug and play shadingshading

Complex scenesComplex scenes

(4-16 fps on 24 1.8 GHz CPUs)(4-16 fps on 24 1.8 GHz CPUs)

Page 5: Andreas Dietrich    Ingo Wald    Markus Wagner    Philipp Slusallek Computer Graphics Group

VR 2004VR 2004 VRML Scene Graphs on an Interactive Ray Tracing EngineVRML Scene Graphs on an Interactive Ray Tracing Engine 55

CO

MPU

TE

R G

RA

PH

IK – U

NIV

ER

SIT

ÄT

DE

S S

AA

RL

AN

DE

S

ProblemsProblems

• Common scene graph librariesCommon scene graph libraries– Targeted towards rasterization / OpenGLTargeted towards rasterization / OpenGL– Ray tracing features cannot be adequately exploitedRay tracing features cannot be adequately exploited– Same with standard graphics file formats, like VRMLSame with standard graphics file formats, like VRML

• Goal: VRML browser implementation Goal: VRML browser implementation providingproviding– Flexible scene graph handlingFlexible scene graph handling– Animation, interaction, and model behaviorAnimation, interaction, and model behavior– Benefits of interactive ray tracingBenefits of interactive ray tracing

Page 6: Andreas Dietrich    Ingo Wald    Markus Wagner    Philipp Slusallek Computer Graphics Group

VR 2004VR 2004 VRML Scene Graphs on an Interactive Ray Tracing EngineVRML Scene Graphs on an Interactive Ray Tracing Engine 66

CO

MPU

TE

R G

RA

PH

IK – U

NIV

ER

SIT

ÄT

DE

S S

AA

RL

AN

DE

S

System System ComponentsComponents

• Main componentsMain components– XRML [Bekaert 01]XRML [Bekaert 01]– OpenRT [Dietrich 03]OpenRT [Dietrich 03]– RTRT [Wald 01/03]RTRT [Wald 01/03]

Page 7: Andreas Dietrich    Ingo Wald    Markus Wagner    Philipp Slusallek Computer Graphics Group

VR 2004VR 2004 VRML Scene Graphs on an Interactive Ray Tracing EngineVRML Scene Graphs on an Interactive Ray Tracing Engine 77

CO

MPU

TE

R G

RA

PH

IK – U

NIV

ER

SIT

ÄT

DE

S S

AA

RL

AN

DE

S

System System ComponentsComponents

• Main componentsMain components– XRML [Bekaert 01]XRML [Bekaert 01]– OpenRT [Dietrich 03]OpenRT [Dietrich 03]– RTRT [Wald 01/03]RTRT [Wald 01/03]

OpenRT APIOpenRT API– Supports all features ofSupports all features of interactive ray tracing interactive ray tracing– Syntactically similiar to OpenGLSyntactically similiar to OpenGL– But some semantic differencesBut some semantic differences

Page 8: Andreas Dietrich    Ingo Wald    Markus Wagner    Philipp Slusallek Computer Graphics Group

VR 2004VR 2004 VRML Scene Graphs on an Interactive Ray Tracing EngineVRML Scene Graphs on an Interactive Ray Tracing Engine 88

CO

MPU

TE

R G

RA

PH

IK – U

NIV

ER

SIT

ÄT

DE

S S

AA

RL

AN

DE

S

OpenRT and OpenRT and OpenGLOpenGL

Differences between OpenRT and OpenGLDifferences between OpenRT and OpenGL• Rendering semanticsRendering semantics

– Unlike OpenGL’s drawing approach OpenRT uses Unlike OpenGL’s drawing approach OpenRT uses objectsobjects– Shader objectsShader objects are bound to are bound to geometry objectsgeometry objects– Complete scene has to be defined prior to renderingComplete scene has to be defined prior to rendering

• Objects and instantiationObjects and instantiation– Geometric objects serve as simple containersGeometric objects serve as simple containers– Efficient reuse of objectsEfficient reuse of objects

• Multi-pass rendering vs. programmable Multi-pass rendering vs. programmable shadingshading– Possible but not necessary due to programmable shader Possible but not necessary due to programmable shader

objectsobjects

Page 9: Andreas Dietrich    Ingo Wald    Markus Wagner    Philipp Slusallek Computer Graphics Group

VR 2004VR 2004 VRML Scene Graphs on an Interactive Ray Tracing EngineVRML Scene Graphs on an Interactive Ray Tracing Engine 99

CO

MPU

TE

R G

RA

PH

IK – U

NIV

ER

SIT

ÄT

DE

S S

AA

RL

AN

DE

S

RenderingRendering

• Rendering controlled by XRML renderer Rendering controlled by XRML renderer modulemodule– Custom-made based on original OpenGL moduleCustom-made based on original OpenGL module– Geometry definition calls largely reusedGeometry definition calls largely reused– OpenRT specific shading and lighting callsOpenRT specific shading and lighting calls– No immediate-mode renderingNo immediate-mode rendering– Scene graph traversal just for scene specificationScene graph traversal just for scene specification– Rendering Rendering afterafter traversal in one single step traversal in one single step

Page 10: Andreas Dietrich    Ingo Wald    Markus Wagner    Philipp Slusallek Computer Graphics Group

VR 2004VR 2004 VRML Scene Graphs on an Interactive Ray Tracing EngineVRML Scene Graphs on an Interactive Ray Tracing Engine 1010

CO

MPU

TE

R G

RA

PH

IK – U

NIV

ER

SIT

ÄT

DE

S S

AA

RL

AN

DE

S

ShadingShading

• VRML shader node extensionVRML shader node extension– Standard VRML limited to simple Standard VRML limited to simple Blinn-PhongBlinn-Phong

shadingshading– Support for arbitrary shading necessarySupport for arbitrary shading necessary– New nodes New nodes ORTAppearanceORTAppearance,, ORTShader ORTShader

appearance ORTAppearance { material Material { diffuseColor 1 0 0 } shader ORTShader { name "Glass" file "libGlass.so" options [ "1f refractionIndex 1.5" ] }}

LightbulbLightbulbof a car headlightof a car headlight

Page 11: Andreas Dietrich    Ingo Wald    Markus Wagner    Philipp Slusallek Computer Graphics Group

VR 2004VR 2004 VRML Scene Graphs on an Interactive Ray Tracing EngineVRML Scene Graphs on an Interactive Ray Tracing Engine 1111

CO

MPU

TE

R G

RA

PH

IK – U

NIV

ER

SIT

ÄT

DE

S S

AA

RL

AN

DE

S

Scene Graph Scene Graph MappingMapping

Acceleration StructuresAcceleration Structures• Ray tracing algorithms maintain Ray tracing algorithms maintain

acceleration structuresacceleration structures– Hierarchical Hierarchical spatialspatial index index– Allow for fast geometry queriesAllow for fast geometry queries– May be considered an May be considered an internal internal scene graphscene graph

internal scene graph internal scene graph (OpenRT)(OpenRT)

MappingMapping external scene graph (VRML)external scene graph (VRML)

Page 12: Andreas Dietrich    Ingo Wald    Markus Wagner    Philipp Slusallek Computer Graphics Group

VR 2004VR 2004 VRML Scene Graphs on an Interactive Ray Tracing EngineVRML Scene Graphs on an Interactive Ray Tracing Engine 1212

CO

MPU

TE

R G

RA

PH

IK – U

NIV

ER

SIT

ÄT

DE

S S

AA

RL

AN

DE

S

Scene Graph Scene Graph MappingMapping

Object GroupingObject Grouping• Group Group ShapeShape nodes into OpenRT geometry nodes into OpenRT geometry

objectsobjects– Naive solution: Create OpenRT object for every single Naive solution: Create OpenRT object for every single

ShapeShape– Can result in performance lossCan result in performance loss

Page 13: Andreas Dietrich    Ingo Wald    Markus Wagner    Philipp Slusallek Computer Graphics Group

VR 2004VR 2004 VRML Scene Graphs on an Interactive Ray Tracing EngineVRML Scene Graphs on an Interactive Ray Tracing Engine 1313

CO

MPU

TE

R G

RA

PH

IK – U

NIV

ER

SIT

ÄT

DE

S S

AA

RL

AN

DE

S

Scene Graph Scene Graph MappingMapping

Object GroupingObject Grouping• Group Group ShapeShape nodes into OpenRT geometry nodes into OpenRT geometry

objectsobjects– Heuristics neccessaryHeuristics neccessary– ROUTEROUTE statements indicate graph cutting points statements indicate graph cutting points

Page 14: Andreas Dietrich    Ingo Wald    Markus Wagner    Philipp Slusallek Computer Graphics Group

VR 2004VR 2004 VRML Scene Graphs on an Interactive Ray Tracing EngineVRML Scene Graphs on an Interactive Ray Tracing Engine 1414

CO

MPU

TE

R G

RA

PH

IK – U

NIV

ER

SIT

ÄT

DE

S S

AA

RL

AN

DE

S

Scene Graph Scene Graph MappingMapping

Object GroupingObject Grouping• Group Group ShapeShape nodes into OpenRT geometry nodes into OpenRT geometry

objectsobjects– Heuristics neccessaryHeuristics neccessary– ROUTEROUTE statements indicate graph cutting points statements indicate graph cutting points

Page 15: Andreas Dietrich    Ingo Wald    Markus Wagner    Philipp Slusallek Computer Graphics Group

VR 2004VR 2004 VRML Scene Graphs on an Interactive Ray Tracing EngineVRML Scene Graphs on an Interactive Ray Tracing Engine 1515

CO

MPU

TE

R G

RA

PH

IK – U

NIV

ER

SIT

ÄT

DE

S S

AA

RL

AN

DE

S

Scene Graph Scene Graph MappingMapping

InstancingInstancing• Instancing possible using Instancing possible using DEF/USEDEF/USE

mechanismmechanism– DEF/USEDEF/USE equivalent to pointers equivalent to pointers– Can link arbitrary nodesCan link arbitrary nodes

• OpenRT can only instantiate complete OpenRT can only instantiate complete objectsobjectsUse instancing only for Use instancing only for TransformTransform nodes nodes

Page 16: Andreas Dietrich    Ingo Wald    Markus Wagner    Philipp Slusallek Computer Graphics Group

VR 2004VR 2004 VRML Scene Graphs on an Interactive Ray Tracing EngineVRML Scene Graphs on an Interactive Ray Tracing Engine 1616

CO

MPU

TE

R G

RA

PH

IK – U

NIV

ER

SIT

ÄT

DE

S S

AA

RL

AN

DE

S

Example Example ApplicationsApplications

Industrial DesignIndustrial Design• Car headlightCar headlight

– Physically-correctPhysically-correctreflection andreflection andrefractionrefraction

– Special reflectorSpecial reflectorand glass shadersand glass shaders

– Up to 25 levelsUp to 25 levelsof recursionof recursion

– More than 800.000More than 800.000trianglestriangles

– Only possible withOnly possible withray tracingray tracing

(16 1.8 GHz CPUs)(16 1.8 GHz CPUs)

Page 17: Andreas Dietrich    Ingo Wald    Markus Wagner    Philipp Slusallek Computer Graphics Group

VR 2004VR 2004 VRML Scene Graphs on an Interactive Ray Tracing EngineVRML Scene Graphs on an Interactive Ray Tracing Engine 1717

CO

MPU

TE

R G

RA

PH

IK – U

NIV

ER

SIT

ÄT

DE

S S

AA

RL

AN

DE

SExample Example

ApplicationsApplicationsAnimated Global Animated Global

IlluminationIllumination• Rotating globe dynamically lit by a moving lampRotating globe dynamically lit by a moving lamp

– Indirect diffuseIndirect diffuseinterreflectioninterreflection

– Standard VRMLStandard VRMLscene includingscene includinganimation pathsanimation paths

– Global illuminationGlobal illuminationplug-in used asplug-in used asdefault shaderdefault shader

(16 1.8 GHz CPUs)(16 1.8 GHz CPUs)

Page 18: Andreas Dietrich    Ingo Wald    Markus Wagner    Philipp Slusallek Computer Graphics Group

VR 2004VR 2004 VRML Scene Graphs on an Interactive Ray Tracing EngineVRML Scene Graphs on an Interactive Ray Tracing Engine 1818

CO

MPU

TE

R G

RA

PH

IK – U

NIV

ER

SIT

ÄT

DE

S S

AA

RL

AN

DE

S

SummarySummary

• Combination of scene graph applications and ray Combination of scene graph applications and ray tracingtracing– Flexible scene graph handlingFlexible scene graph handling– Animation, interaction, and model behaviourAnimation, interaction, and model behaviour– VRML97 supportVRML97 support– Physical correctnessPhysical correctness– Plug and play shadingPlug and play shading– Complex scenesComplex scenes

• Future workFuture work– Evaluation of other file formats like X3DEvaluation of other file formats like X3D– Development of a SG library optimized for RTDevelopment of a SG library optimized for RT

Page 19: Andreas Dietrich    Ingo Wald    Markus Wagner    Philipp Slusallek Computer Graphics Group

Questions ?Questions ?

For more information seeFor more information seehttp://graphics.cs.uni-sbhttp://graphics.cs.uni-sb.de.de

http://whttp://www.openrt.deww.openrt.dehttp://www.intrace.comhttp://www.intrace.com