introduction to optix - gtc on-demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5...
TRANSCRIPT
![Page 1: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/1.jpg)
Martin Stich, Engineering Manager
INTRODUCTION TO OPTIX
![Page 2: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/2.jpg)
2
AGENDA
OptiX Basics
Advanced Topics
Case Studies
Feature Outlook
![Page 3: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/3.jpg)
3
OPTIX BASICS
![Page 4: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/4.jpg)
4
IN A NUTSHELL
State-of-the-art performance: 500M+ rays/sec
Algorithm and hardware agnostic
Shaders with single-ray programming model, recursion
Available free for private and commercial use
The OptiX Ray Tracing SDK
![Page 5: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/5.jpg)
5
RELEASE TIMELINE
Jan 2016 Summer 2016 TODAY!
OptiX 3.9Pascal Support
OptiX 4.0LLVM PipelineNVLINK Scaling
OptiX 4.1Performance
CUDA 8, VS2015
2009
OptiX 1.0Hello World!
...
![Page 6: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/6.jpg)
6
MODERN RAY TRACING
Rasterization:
![Page 7: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/7.jpg)
7
MODERN RAY TRACING
Rasterization:
Ray Tracing:
![Page 8: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/8.jpg)
8
THE RAY TRACING PIPELINE
Programmable:
Ray Generation
Closest Hit, Any Hit, Miss
Intersection
← Launch entry
← Shading
← GeometryRAY GENERATION
INTERSECTIONANY-HIT
INTERSECTIONANY-HIT
CLOSEST-HIT
![Page 9: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/9.jpg)
9
MAIN OPERATIONS
RAY GEN INTERSECT ANY HIT CLOSEST HIT MISS
rtTrace ✔ ✔ ✔
rtPotentialIntersection ✔
rtReportIntersection ✔
rtIgnoreIntersection ✔
rtTerminateRay ✔
![Page 10: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/10.jpg)
10
SHADER COMMUNICATION
Variables
similar to uniforms in other systems
constants, system values, buffers, textures, …
Example:
Textures
Current ray
![Page 11: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/11.jpg)
11
SHADER COMMUNICATION
Variables
similar to uniforms in other systems
constants, system values, buffers, textures, …
Ray Payload
arbitrary data associated with ray
in/out from rtTrace to Any-hit, Closest-hit, Miss
Example:
Textures
Current ray
Example:
Color data
![Page 12: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/12.jpg)
12
SHADER COMMUNICATION
Variables
similar to uniforms in other systems
constants, system values, buffers, textures, …
Ray Payload
arbitrary data associated with ray
in/out from rtTrace to Any-hit, Closest-hit, Miss
Attributes
arbitrary data associated with hit
generated in Intersection program
consumed by Any-hit, Closest-hit
Example:
Color data
Example:
Barycentrics
Example:
Textures
Current ray
![Page 13: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/13.jpg)
13
EXAMPLE
See optixPathTracer SDK sample for a slightly less minimalistic version
Miniature Path Tracer
![Page 14: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/14.jpg)
14
GLOBAL ILLUMINATION
![Page 15: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/15.jpg)
15
GLOBAL ILLUMINATION
![Page 16: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/16.jpg)
16
GLOBAL ILLUMINATION
![Page 17: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/17.jpg)
17
GLOBAL ILLUMINATION
![Page 18: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/18.jpg)
18
HOWEVER…
![Page 19: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/19.jpg)
19
RAY PAYLOAD
struct RayPayload{
float3 radiance; // stores contribution after we hit the light source
float3 attenuation; // accumulated attenuation of radiance due to materials
float3 next_origin; // reflection ray to be traced for the nextfloat3 next_direction; // ..segment of the path
unsigned seed; // random number generator state
bool done; // whether we’re done tracing this path
};
Path State Definition
![Page 20: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/20.jpg)
20
INTEGRATIONRT_PROGRAM void ray_generation(){
unsigned int seed = tea<16>( launch_index.x + launch_index.y*output_buffer.size().x, frame_number );float3 ray_origin = eye;float3 ray_direction = compute_jittered_ray_dir( seed );
RayPayload payload;payload.radiance = make_float3(0,0,0);payload.attenuation = make_float3(1,1,1);payload.seed = seed;payload.done = false;int depth = 0;
while( !payload.done && depth++ < 10 ){
Ray ray = make_Ray( ray_origin, ray_direction, 0, 0.001f, RT_DEFAULT_MAX );
rtTrace( scene, ray, payload );
ray_origin = payload.next_origin;ray_direction = payload.next_direction;
}
const float3 result = payload.radiance * payload.attenuation;
const float lerp_t = frame_number > 1 ? 1.0f / frame_number : 1.0f;const float3 prev_col = make_float3( output_buffer[launch_index] );output_buffer[launch_index] = make_float4( lerp( prev_col, result, lerp_t ), 1.0f );
}
1
2
3
4
![Page 21: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/21.jpg)
21
rtDeclareVariable( float3, diffuse_color, , );rtDeclareVariable( float3, normal, attribute normal, );rtDeclareVariable( optix::Ray, ray, rtCurrentRay, );rtDeclareVariable( float, t_hit, rtIntersectionDistance, );rtDeclareVariable( RayPayload, current_payload, rtPayload, );
RT_PROGRAM void closest_hit_diffuse(){
const float3 hitpoint = ray.origin + t_hit * ray.direction;
const float z1 = rnd( current_payload.seed );const float z2 = rnd( current_payload.seed );float3 dir;cosine_sample_hemisphere( z1, z2, dir );optix::Onb onb( normal );onb.inverse_transform( dir );
current_payload.next_origin = hitpoint;current_payload.next_direction = dir;
current_payload.attenuation *= diffuse_color;}
DIFFUSE MATERIAL
![Page 22: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/22.jpg)
22
rtDeclareVariable( RayPayload, current_payload, rtPayload, );rtDeclareVariable( float3, emission_color, , );
RT_PROGRAM void closest_hit_light(){
current_payload.radiance = emission_color;current_payload.done = true;
}
RT_PROGRAM void miss(){
current_payload.radiance = make_float3(0,0,0);current_payload.done = true;
}
LIGHT MATERIAL AND MISS
![Page 23: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/23.jpg)
23
rtDeclareVariable( float3, anchor, , );rtDeclareVariable( float3, v1, , );rtDeclareVariable( float3, v2, , );rtDeclareVariable( float4, plane, , );rtDeclareVariable( float3, normal, attribute normal, ); rtDeclareVariable( optix::Ray, ray, rtCurrentRay, );
RT_PROGRAM void intersect( int primIdx ){
const float3 n = make_float3( plane );const float dt = dot( ray.direction, n );const float t = (plane.w - dot(n, ray.origin)) / dt;const float3 p = ray.origin + ray.direction * t;const float3 vi = p - anchor;const float a1 = dot( v1, vi );const float a2 = dot( v2, vi );
if( a1 >= 0 && a1 <= 1 && a2 >= 0 && a2 <= 1 ){
if( rtPotentialIntersection( t ) ){
normal = n;rtReportIntersection( 0 );
}}
}
SCENE GEOMETRY
![Page 24: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/24.jpg)
24
RESULTAccumulation Over Time
![Page 25: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/25.jpg)
25
NEXT STEP IDEAS
Next event estimation
Russian roulette
Sphere primitives
Mirror material
Glass material
Triangle meshes
Environment maps
...
Mini Path Tracer Reader Exercises
![Page 26: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/26.jpg)
26
NODE GRAPH
Context
Geometry Group
Geometry
Instance
Geometry
Material
Group
Variables
Intersection Program
Any Hit +Closest Hit
![Page 27: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/27.jpg)
27
ADVANCED TOPICS
![Page 28: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/28.jpg)
28
INTEROPShare CUDA and OpenGL Resources
CUDA
Share CUDA allocations
rtBufferSetDevicePointerrtBufferGetDevicePointer
OpenGL
Share textures and vertex buffers
rtBufferCreateFromGLBOrtTextureSamplerCreateFromGLImage
![Page 29: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/29.jpg)
29
BINDLESS OBJECTS
“Bindless”: powerful concept to dynamically select textures, buffers, and programs at runtime
Allows efficient implementation of large shading networks
Reduces code size, compile times, and number of compiles
Pixar Animation Studio’s “Flow” material editing tool. Visit the NVIDIA website to watch a SIGGRAPH 2015 talk describing the system in detail.
![Page 30: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/30.jpg)
30
PTX GENERATIONOptions
OptiX
nvcc.exe
nvrtc.dll
NVVM/
NVPTX
CUDA-C++
CUDA-C++
LLVM-IR
PTX
Offline
JIT
![Page 31: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/31.jpg)
31
MULTI-GPU AND NVLINKAutomatic Scaling
110M Triangles
23M Grass Blades
15GB Textures
2 x GP100
Monsters University data set courtesy of Pixar Studios
![Page 32: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/32.jpg)
32
REMOTE RENDERINGOn Quadro VCA or DGX-1
Progressive
video stream
Incremental
updates
OptiX App
OptiX Server(s)
ETHERNET
INTERNET
![Page 33: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/33.jpg)
33
OPTIX PRIME
Supports instancing, async operations, ray masks
Performance similar to OptiX
Same semantics via OptiX: See optixRaycasting sample
Simple intersection-only API
Rays
Triangles
OptiX
Prime
GPU or CPU
Intersections(primIdx, t, u, v)
![Page 34: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/34.jpg)
34
CASE STUDIES
![Page 35: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/35.jpg)
35
PERFORMANCERaw Traversal on Titan X Pascal
+16% in OptiX 4.1+3% in OptiX 4.1
![Page 36: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/36.jpg)
36
NVIDIA: IRAY & MENTAL RAY
![Page 37: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/37.jpg)
37
NVIDIA: GVDB
Image Property of DreamWorks AnimationOpenVDB format support
Live interaction with multiple-bounce GI scattering, 10x-30x faster than CPU
Introduction and Techniques with NVIDIA GVDB VoxelsMonday, 9:00 AM – Room 231
Sparse Volume Rendering
![Page 38: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/38.jpg)
38
AAA-STUDIO: FURRYBALL PRODUCTION RENDERING
![Page 39: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/39.jpg)
39
VISUAL MOLECULAR DYNAMICS (VMD)
Molecular Visualization package with hundreds of thousands of users
Developed by John Stone of U Illinois
Cutting Edge OptiX Ray Tracing Techniques for Visualization of Biomolecular and Cellular Simulations in VMDTuesday, 3:30 PM – Room 230C
![Page 40: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/40.jpg)
40
OLCF: SCIENTIFIC VISUALIZATION
Visualizing laser interaction with metals, hundreds of millions of primitives on DGX-1
Developed by Benjamin Hernandez, OLCF-ORNL
Exploratory Visualization of Petascale Particle Data in NVIDIA DGX-1Tuesday, 3:30 PM – Room 212B
Simulation: OLCF INCITE 2017 "Petascale Simulations of Short Pulse Laser Interaction with Metals" PI Leonid Zhigilei, University of Virginia
![Page 41: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/41.jpg)
41
NVIDIA: VRWORKS AUDIO
Sound waves reflect off of the environment
Path traced audio
NVIDIA VRWORKS AUDIO - Improving VR Immersion with acoustic fidelity
Thursday, 11:00 AM – Room 230B
![Page 42: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/42.jpg)
42
BUNGIE: LIGHT BAKING FOR GAMES
Light and occlusion baking is a major bottleneck in game design
Workflow-changing speedups by switching from CPU render farms to OptiX
![Page 43: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/43.jpg)
43
LIGHTMASSLight baking in Unreal Engine 4
Total Time on Titan X
CPU 1638sGPU 1X 426sGPU 2X 298s
![Page 44: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/44.jpg)
44
ADVANCED SAMPLESMaintained on Github
A collection of larger, more sophisticated sample applications than the ones that come with the SDK
Available at:
https://github.com/nvpro-samples/optix_advanced_samples
![Page 45: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/45.jpg)
45
FEATURE OUTLOOK
![Page 46: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/46.jpg)
46
PERFORMANCEMOTION BLURSEPARATE
COMPILATION
UNDER DEVELOPMENT
Shorter per-shadercompile times
Fast incremental addition and removal of programs
Overall speedup through parallel compilation
Performance is always a focus
Tackling some big ticket ideas over the next ~year
Transform and deformation blur
![Page 47: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/47.jpg)
47
THANK YOU!
Related Talks:
S7185 - LEVERAGING NVRTC RUNTIME COMPILATION FOR DYNAMICALLY BUILDING OPTIX SHADERS FROM MDL MATERIALS
S7454 - NVIDIA ADVANCED RENDERING
S7452 - CUTTING EDGE OPTIX RAY TRACING TECHNIQUES FOR VISUALIZATION OF BIOMOLECULAR AND CELLULAR SIMULATIONS IN VMD
S7175 - EXPLORATORY VISUALIZATION OF PETASCALE PARTICLE DATA IN NVIDIA DGX-1
S7400 - GPU-CLOUD PHOTOREALISTIC RENDERING FOR THE NEXT GENERATION OF CLOUD CAD TOOLS
H7106 - PHYSICALLY BASED RAY TRACING WITH OPTIX
S7391 - TURBOCHARGING VMD MOLECULAR VISUALIZATIONS WITH STATE-OF-THE-ART RENDERING AND VR TECHNOLOGIES
S7424 - INTRODUCTION AND TECHNIQUES WITH NVIDIA GVDB VOXELS
S7135 - NVIDIA VRWORKS AUDIO - IMPROVING VR IMMERSION WITH ACOUSTIC FIDELITY
![Page 48: INTRODUCTION TO OPTIX - GTC On-Demand …on-demand.gputechconf.com/.../s7455-martin-stich-optix.pdf5 RELEASE TIMELINE Jan 2016 Summer 2016 TODAY! OptiX 3.9 Pascal Support OptiX 4.0](https://reader030.vdocument.in/reader030/viewer/2022012314/5af931997f8b9abd588c8cc8/html5/thumbnails/48.jpg)