Top Banner
March 26-29, 2018 | Silicon Valley Andreas Dietrich, ESI Group Galen Faidley, Caterpillar Inc March 28, 2018 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE DESIGN FOR INTERACTIVE IMMERSIVE VISUALIZATION S8433
48

S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

Mar 21, 2020

Download

Documents

dariahiddleston
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: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

March 26-29, 2018 | Silicon Valley

Andreas Dietrich, ESI Group

Galen Faidley, Caterpillar Inc

March 28, 2018

CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE DESIGNFORINTERACTIVE IMMERSIVE VISUALIZATION

S8433

Page 2: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

2

Introduction

Helios Rendering Architecture (ESI)

End User Implications (Caterpillar)

Demo

AGENDA

Page 3: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

3

INTRODUCTION

Page 4: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

4

“A pioneer and world-leading provider in Virtual Prototyping.”

— www.esi-group.com

Page 5: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

5

IntroductionVirtual Engineering and Design

Combination explosion of visualization scenarios

• Various sources of data

• Engineering data (e.g., CAD), simulation data (e.g., CFD), measured data (e.g., materials), …

• Diverse visualization use cases

• Engineering reviews, exploratory simulation, physically based rendering, scientificvisualization, …

• Different kinds of display devices

• Desktop, Powerwall, Cave, HMD, mobile devices, …

Page 6: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

6

IntroductionHelios Architecture Requirements

• Lightweight

• Not a full-blown scene graph, letapplication handle this

• Replicate as few data as possible

• High performance

• Exploit specific/low-level GPU features

• Must be able to get close to the metal

• Extensible

• Leverage external rendering frameworks, such a NVIDIA RiX or OptiX

• Support for various rendering algorithms

• Rasterization, ray tracing, hybrid modes

• CAD rendering, photo-realistic rendering, scientific visualization, …

Page 7: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

7

HELIOS RENDERING ARCHITECTURE

Page 8: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

8

Helios Rendering ArchitectureOverview

IC.IDO

RiXGL Backend

(DLL) . . .OptiX Backend

(DLL)

Helios

Application

Renderer

Page 9: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

9

Helios Rendering ArchitectureInterfaces

Application API

Load and unload rendering backends (DLLs can be opened at run-time)

Switch between backends (e.g., ray tracing or rasterization based)

Render graph control (e.g., hybrid rendering, frame composition)

Provide original (unoptimized) scene data

Backend API

Set scene geometry and transformations (flattened two-level scene graph)

Set rendering parameters (e.g., materials, lights, whitted ray tracing or GI)

Helios

Backend

Page 10: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

10

Helios Rendering ArchitectureShadow Data Model

Application

Back-End

Helios

• Application

• Scene hierarchy + original primitives

• Provides accessor to primitives

• Helios

• Copy of scene hierarchy

• Does not copy primitives

• Backend

• Flattened scene hierarchy

• Supported / converted primitives

Page 11: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

11

Graph OptimizationScene Hierarchy Flattening

T1

O2

G1

O3

Backend graph

Application graph

O1

O1 O2 O3

T3T2T1T2

G2

T3 T4

GroupTransform Object

Page 12: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

12

Helios ObjectsShared Geometry and Appearance

O1

T1

G1 A1

T2 T3

O2 O3

G2 A2

GeometryTransform Object Appearance

Page 13: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

13

OptiX Node GraphHelios Objects as OptiX Subgraph

Switch scenes

G2 A2

O2

T2

O3

T3

Selector

Transform

Geometry

Group

Geometry

Instance

Acceleration

Geometry

Transform

Geometry

Group

Geometry

Instance

Material

Group

Page 14: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

14

OptiX Node GraphOptiX Programs

Acceleration

Material

Transform

Geometry

Group

Geometry

InstanceGeometry

Intersection

Program

BoundingBox

Program

ClosestHit

Program

AnyHit

Program

Page 15: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

15

class RenderBackEnd{

public:// Renderingvirtual void initialize(bool isTest) = 0;virtual void initializeWithContext() = 0;virtual void shutdown() = 0;virtual void render(RenderParams const &) = 0;// ...

// Scene setupvirtual void handleObjectAdded(ObjectAddedData const & data) = 0;virtual void handleObjectRemoved(ObjectRemovedData const & data) = 0;virtual void handleTransformChanged(TransformChangedData const & data) = 0;virtual void handleGeometryAdded(GeometryAddedData const & data) = 0;virtual void handleGeometryRemoved(GeometryRemovedData const & data) = 0;virtual void handleGeometryChanged(GeometryChangedData const & data) = 0;virtual void handleGeometryPositionsChanged(GeometryPositionsChangedData const & data) = 0;virtual void handleGeometryNormalsChanged(GeometryNormalsChangedData const & data) = 0;virtual void handleGeometryModified(GeometryModifiedData const & data) = 0;virtual void handleGeometryLodChanged(GeometryLodChangedData const & data) = 0;virtual void handleLightAdded(LightAddedData const & data) = 0;virtual void handleLightRemoved(LightRemovedData const & data) = 0;virtual void handleLightDataChanged(LightDataChangedData const & data) = 0;virtual void handleLightTransformChanged(LightTransformChangedData const & data) = 0;virtual void handleAppearanceTypeAdded(AppearanceTypeAddedData const & data) = 0;virtual void handleAppearanceInstanceAdded(AppearanceInstanceAddedData const & data) = 0;virtual void handleAppearanceInstanceRemoved(AppearanceInstanceRemovedData const & data) = 0;virtual void handleAppearanceChanged(AppearanceChangedData const & data) = 0;virtual void handleAppearanceParameterChanged(AppearanceParameterChangedData const & data) = 0;virtual void handleAppearanceTextureParameterChanged(AppearanceTextureParameterChangedData const & data) = 0;// ...

//Rendergraph passesvirtual void handleClearPass(ClearPassRequestedData const& data) = 0;virtual void handleBlitPass(BlitPassRequestedData const& data) = 0;virtual void handleExternalFramebufferBlitPass(ExternalFramebufferBlitPassRequestedData const& data) = 0;virtual void handleUploadPass(UploadPassRequestedData const& data) = 0;virtual void handleDownloadPass(DownloadPassRequestedData const& data) = 0;virtual void handleFsqPass(FsqPassRequestedData const& data) = 0;virtual void handleScenePassMono(ScenePassRequestedData const& data) = 0;virtual void handleScenePassStereo(ScenePassRequestedData const& data) = 0;// ...

};

Backend API

Page 16: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

16

Backend APIstruct ObjectAddedData{

sceneId_t sceneId;NodeId objectId;GeoId geoId;InternalAppearanceId appearanceId;Mat4 transform;

ObjectProperties objectProperties;bool visible;

};

void OptiXBackEnd::handleObjectAdded(ObjectAddedData const & data){

/* Generate optix node graph for object */

optix::Context context = getOptiXContext();

optix::Material material = getOptiXMaterial(appearanceId);optix::Geometry geometry = getOptiXGeometry(geoId);

// Create geometry instanceoptix::GeometryInstance geometryInstance = context->createGeometryInstance();geometryInstance->addMaterial(material);geometryInstance->setGeometry(geometry);

// ...}

Page 17: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

17

RiX BackendOverview

• Based on RiX::GL (part of NVPro-Pipeline):

• Rendering API abstraction from OpenGL

• Hides implementation details which generate OpenGL streams

• Reduces CPU cost of rendering

• Can be used in conjunction with NVIDIA VRWorks

• Single pass stereo, VR SLI, lens matched shading,…

• Supports occlusion culling

“NVPRO-Pipeline – A Research Rendering Pipeline”

Markus Tavenrath, NVIDIA

— GTC 2015, S5148

Page 18: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

18

Helios RiX Backend

RiX Backend

Helios

RiX::GLMDL SDK OpenGL

(MDL) GLSL Builder• Generates GLSL vertex and fragment shaders

• Stiches (MDL) code snippets

MDL Parser• Reads MDL files

• Generates material

parameter lists

Page 19: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

19

Helios RiX BackendExample: GPU Occlusion Culling

• Raster „Invisible“ bounding boxes

• Disable color/depth writes

• Geometry shader creates box sides

• Fragment shader writes visible[object] = 1

• Only visible objects are drawn next frame

• Bombadier train model:

• 155,000,000 triangles

• 200,000 nodes

94 FPS

342 FPS

Page 20: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

20

OptiX BackendOverview

• Based on NVIDIA OptiX:

• Programmable GPU ray tracing pipeline

• Single-ray programming model using C++

• AI accelerated rendering

• Implements a range of physically based rendering algorithms

• Whitted ray tracing, ambient occlusion, global illumination

• Generates precomputed lighting data (e.g., texture baking)

“An Introduction to NVIDIA OptiX”

Detlef Roettger, NVIDIA

— GTC 2018, S8518

Page 21: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

21

Helios OptiX Backend

OptiX Backend

Helios

OptiXMDL SDK NVRTC

(MDL) CUDA Builder• Generates material traversers (CUDA C++)

• Compiles bindless callable programs

MDL Parser• Reads MDL files

• Generates material

parameter lists

Page 22: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

22

Helios OptiX BackendExample: AI Accelerated Global Illumination

• Global illumination path tracer

• Deep neural network basedMonte-Carlo noise filtering

• OptiX postprocessing pipeline

Page 23: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

23

RendergraphMotivation

• Final image needs to be generated in a multi-pass process

• Multiple backends participate in image computation

• Application of multiple and diverse rendering algorithms

• 2D/3D composition of partial results

• Image postprossesing steps

Helios exposes control over the interplay of backends using a graph structure

Page 24: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

24

RendergraphImage Composition

Color postprocessing (RiXGL)

Raytraced body (OptiX)Rasterized wheels (RiXGL)

3D widget (RiXGL)

Page 25: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

25

RendergraphCLEAR_GL

SCENE_GL

SCALE_DOWN_S SCALE_DOWN_M

SCENE_RT

RECONSTRUCTION

COLOR_GRADING

SCALE_UP

WIDGET

SCALE_DOWN_G

GAMMA

Clear pass

Blitt pass

Scene render pass

Full screen pass

Color 0 Color 1 (mask) Depth

Color 0 Color 1 (mask)

Color 0

Color 0

Color 0

Color 0

Color 0

Color 0

Scaling passes are used to resolve/expand multi-sample targets

Page 26: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

26

RendergraphSpecification Language

• A rendergraph can be specified in a text file

• Consists of three parts:

• Definition of render targets

• Definition of render passes

• Definition of links between passes

rendertarget TARGET{

width : 1920height : 1080colorFormat0 : RGBA16FcolorFormat1 : RGBA16FdepthFormat : D24S8buffer : offscreensampleCount : 1

}

pass_fsq COLOR_GRADING{

backend : rixglshader : fsq_postprocess

tweakables{

exposure : f32 0.0 1.0 0.0 #name : type min max defaultwhite : f32 0.0 1.0 0.0tint : f32 0.0 1.0 0.0brightness : f32 0.0 1.0 0.0saturation : f32 0.0 1.0 0.0contrast : f32 0.0 1.0 0.0

}}

CLEAR_GL c0->c0 SCENE_GLCLEAR_GL c1->c1 SCENE_GLCLEAR_GL d->d SCENE_GLSCENE_GL c0->c0 SCALE_DOWN_SSCENE_GL c1->c1 SCALE_DOWN_MSCENE_GL d->d WIDGETSCALE_DOWN_S c0->c0 SCENE_RTSCALE_DOWN_M c1->c1 SCENE_RTSCENE_RT c0->c0 RECONSTRUCTIONRECONSTRUCTION c0->c0 COLOR_GRADINGCOLOR_GRADING c0->c0 SCALE_UPSCALE_UP c0->c0 WIDGETWIDGET c0->c0 SCALE_DOWN_GSCALE_DOWN_G c0->c0 GAMMA

Page 27: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

27

Material HandlingOverview

• Helios supports a number of standard material appearances

• Wood, metal, glass, car paint, …

• Backend responsible for implementation

• RiXGL backend: GLSL shaders

• OptiX backend: CUDA/PTX shaders

• Shader kernels can be JIT compiled/modified (e.g., include/exclude bump mapping)

• Separation of BxDF and integrator code (surface shading / light transport)

• Similar code for GLSL and CUDA results in consistent shading accross backends

Page 28: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

28

MDL Materials

3/27/2018

27.03.2018

MATERIAL TWEAKINGMATERIAL

CONSTRUCTION

MATERIAL SHARING (LIBRARY)

DEFINITION VISUALIZATION

Helios

Motivation

Page 29: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

29

MDL MaterialsExample

• MDL: NVIDIA Material Definition Language

• Not a shading language

• Declarative description of material appearance

• Specification defines BxDF models

“MDL Handbook”

WWW.mdlhandbook.de

mdl 1.2;import df::*;

export material my_diffuse( uniform float par_roughness = 0.0,uniform color par_color = color(0.5)

) =material(

surface: material_surface(scattering: df::diffuse_reflection_bsdf(

roughness: par_roughness,tint: par_color

))

);Courtesy of NVIDIA

Page 30: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

30

MDL MaterialsPreliminary Results

Iray

Helios / RiXGL backend

Page 31: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

Caterpillar: Non-Confidential

Challenges in Real-Time Rendering and Software

Design for Interactive Immersive Visualization

End User Implications

28 March 2018

Galen Faidley

Sr. Engineering Project Team Leader

Caterpillar Inc.

Page 32: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

Caterpillar: Non-Confidential

Agenda

• About Caterpillar

• Immersive Visualization at Caterpillar

• Motivation

• Test setup

• Results

• Implications

• Conclusions

Page 33: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

Caterpillar: Non-Confidential

CATERPILLAR: OUR GLOBAL

FOOTPRINTPRODUCT LINE

Construction Mining

Equipment

Diesel & Natural

Gas Engines

Industrial Gas

Turbines

Diesel-Electric

Locomotive

3 Million+Products at Work

Around the World

98,400Full-time

Employment*

We Provide Solutions that Help

Our Customers Build a Better

World

171 DealersServing 192 countries*

500,000+Connected Assets*

*Based on 2017 year-end data

Caterpillar: Non-Confidential

Page 34: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

Caterpillar: Non-Confidential

Immersive Visualization at Caterpillar• Global deployment across Asia, North America,

and Europe

• Most product development locations have access

to the technology

• Primarily use projection-based systems

• Starting to also use head-

mounted displays

• Diverse but focused use cases

Ergonomic

Evaluation

Serviceability

Audits

Assembly

Audits

Facility

Walkthrough

Operator

Visibility

Immersive

Visualization

Design

Reviews

Page 35: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

Caterpillar: Non-Confidential

Motivation

• For Computer Aided Design (CAD) data - practical performance has not

kept pace with theoretical performance

– Theoretical performance growing approximately with Moore’s law

– Practical performance flat (not even linear growth)

• CPU bound rather than GPU bound

_ K M P

Generation

2K 4K 5K 6K

Model

Page 36: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

Caterpillar: Non-Confidential

All of NVIDIA’s® CUDA®-capable, top-end Quadro® graphics boards

FX 5600March 2007

342.00

FX 5800Nov 2008

342.00

6000Dec 2010

377.83

K6000July 2013

391.03

M6000March 2015

391.03

P6000Oct 2016

391.03

Page 37: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

Caterpillar: Non-Confidential

Actual Numbers

Page 38: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

Caterpillar: Non-Confidential

Page 39: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

Caterpillar: Non-Confidential

Test Geometry

Page 40: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

Caterpillar: Non-Confidential

Results

IC.IDO Version

10.2 – Baseline (SceneX)

11.0 – Initial Helios Release

11.1 – Improved frustum culling,

GPU optimized vertex format

11.2 – Occlusion culling

Take away – IC.IDO 11.2 on a P6000 is 9 to 30+ times faster than 10.2 on a Quadro 6000

Page 41: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

Caterpillar: Non-Confidential

Implications

• Product reviews in HMDs are now feasible

• Greater performance overhead to be allocated between:

• Immersive visualization is becoming a more useful tool and a better

experience for our users

More Data

work sites, mines,

factories, multiple

full machines

Better user

experience

Less simulator

sickness, longer

immersion times,

more natural

interaction

Less data prep

No need to simplify

large data sets

Page 42: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

Caterpillar: Non-Confidential

Conclusions

• A 7+ year old CPU bottle neck has been removed, unleashing the power of modern

GPUs for CAD data

– NVIDIA has shown the world how to address the issue

– ESI has proven it can be implemented in a robust solution

– We have confirmed that there is value in the performance gains

• This should be the new normal

– Users should demand this level of performance

– Developers need to provide it

Page 43: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

Caterpillar: Non-Confidential

Questions?

Page 44: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

Caterpillar: Non-Confidential

Page 45: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

Caterpillar: Non-Confidential

Caterpillar Inc.

For more than 90 years, Caterpillar Inc. has been making sustainable progress possible and driving positive change on every

continent. Customers turn to Caterpillar to help them develop infrastructure, energy and natural resource assets.

With 2017 sales and revenues of $45.462 billion, Caterpillar is the world’s leading manufacturer of construction and mining

equipment, diesel and natural gas engines, industrial gas turbines and diesel-electric locomotives. The company principally operates

through its three primary segments - Construction Industries, Resource Industries and Energy & Transportation - and also provides

financing and related services through its Financial Products segment.

For more information, visit caterpillar.com.

CAT, CATERPILLAR, their respective logos, “Caterpillar Yellow” and the POWER EDGE trade dress, Built For It, as well as

corporate and product identity used herein, are trademarks of Caterpillar and may not be used without permission.

©2018 Caterpillar All Rights Reserved

Page 46: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

46

DEMO

Page 47: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

47

QUESTIONS ?

Page 48: S8433 CHALLENGES IN REAL-TIME RENDERING AND SOFTWARE …on-demand.gputechconf.com/gtc/2018/presentation/s8433... · 2018-03-30 · March 26-29, 2018 | Silicon Valley Andreas Dietrich,

March 26-29, 2018 | Silicon Valley

THANK YOU

www.esi-group.com

www.caterpillar.com