S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS...
Transcript of S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS...
![Page 1: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/1.jpg)
May 8-11, 2017 | Silicon Valley
www.esi-group.com
Detlef Röttger, NVIDIA
Andreas Mank, ESI Group
2017-05-08
LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL MATERIALS
S7185
![Page 2: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/2.jpg)
2
VISUALIZE REAL-WORLD LIGHTS AND MATERIALS
![Page 3: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/3.jpg)
3
Introduction
Evolution of the Renderer Architecture
Introduction to NVRTC
Shader Generation from MDL Materials
Integration into ESI IC.IDO
Live Demonstration
AGENDA
![Page 4: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/4.jpg)
4
INTRODUCTION
![Page 5: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/5.jpg)
5
![Page 6: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/6.jpg)
6
![Page 7: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/7.jpg)
7
MOTIVATION
Scene exchange among applications often loses material information
Use the NVIDIA Material Definition Language (MDL) to exchange materials
Take advantage of existing MDL material libraries
Create new MDL materials with available third-party tools
Renderer goal:Handle MDL materials at runtime on end-user target system
![Page 8: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/8.jpg)
8
MDL
A domain-specific language for abstract declarative material description
Independent of a specific rendering system
Procedural programming language to customize texture image lookups or procedural textures
MDL Handbook and Specifications:http://www.mdlhandbook.com
More Information:https://developer.nvidia.com/designworks
NVIDIA Material Definition Language
![Page 9: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/9.jpg)
9
OPTIX
High-level GPU accelerated ray-casting API
C-API to setup scene and data
Multiple program domains and per ray payload under developer‘s control
Flexible single ray programming model
Supports multi-GPU and progressive renderingon remote NVIDIA VCA cluster
Develop "to the algorithm"
NVIDIA GPU Ray Casting API
volume scattering and dispersion
hair intersection and shading
![Page 10: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/10.jpg)
10
EVOLUTION OF THERENDERER ARCHITECTURE
![Page 11: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/11.jpg)
11
RENDERER IMPLEMENTATIONGoal: Handle MDL Materials at Runtime
Represent complex layered material hierarchies as CUDA C++ code
Templated classes for layered material construction from "fixed-function" building blocks(BSDFs, EDFs, VDFs, Layers, Mixers, Modifiers, Conditionals)
Connect user defined parameter calculations with building blocks
Derive from generated "getter" classes which fill building block input parameters.All functions inlined into material hierarchy traverser function.
Generate high-level CUDA C++ code
Easy prototyping and debugging before writing the code generator.Benefit from all optimizations inside the CUDA compiler.
![Page 12: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/12.jpg)
12
ray_gen
lens shader
integrator
output
any_hit
material
traverser
cutout opacity?
closest_hit
material
traverser
eval EDF
sample BSDF
eval BSDF
sample light
direct lighting?
bounding_box
intersection
edf
edf_diffuse
edf_spot
edf_measured
light_constant
light_env
light_mesh
bsdf
backscattering
diffuse_reflection
diffuse_transmission
glossy
measured
specular
beckmann_smith
beckmann_vcavities
ggx_smith
ggx_vcavities
ward_geisler_moroder
pinhole
thin_lens
fisheye
sphere
miss_null
miss_constant
miss_env
* rectangles are fixed-function code
* round rectangles are bindless callable programs
![Page 13: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/13.jpg)
13
INTRODUCTION TO NVRTC
![Page 14: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/14.jpg)
14
NVRTC vs. NVCCCUDA Compilation
NVRTC standalone library
Translates CUDA C++ source to PTX device code
End-users do not need a full development environment (e.g. MSVS)
Three times faster compile times compared to NVCC
NVCC CUDA Compiler
Supports host and device code
Works in combination with a host compiler of a full development environment
![Page 15: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/15.jpg)
15
NVRTCAdvantages of Runtime Compilation
OptiX shaders can be compiled on-demand
Applications do not have to provide a large number of individual shaders upfront
Materials can be created and changed at runtime
Specialized shaders improve performance
No large „uber-shaders“ necessary
Shader code can be kept compact
![Page 16: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/16.jpg)
16
NVRTC APICUDA C++ Runtime Compilation to PTX
nvrtcProgram prog;nvrtcCreateProgram(&prog, src, NULL, 0, NULL, NULL);
nvrtcCompileProgram(prog, numOptions, options);
nvrtcGetProgramLogSize(prog, &logSize);if (1 < logSize){nvrtcGetProgramLog(prog, log);
}
nvrtcGetPTXSize(prog, &ptxSize);if (1 < ptxSize){nvrtcGetPTX(prog, ptx);
}
nvrtcDestroyProgram(&prog);
Input CUDA C++ code
Compiler options
Potential error log
Output PTX code
![Page 17: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/17.jpg)
17
NVRTCCompilation Options
const std::string cudaIncludes = std::string("-I") + m_cudaIncludePath;const std::string optixIncludes = std::string("-I") + m_optixIncludePath;const std::string rendererIncludes = std::string("-I") + m_rendererIncludePath;
const char* options[] ={"--gpu-architecture=compute_30","--use_fast_math","--device-as-default-execution-space","--relocatable-device-code=true","-D__x86_64",cudaIncludes.c_str(),optixIncludes.c_str(), rendererIncludes.c_str()
};
![Page 18: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/18.jpg)
18
SHADER GENERATION FROM MDL MATERIALS
![Page 19: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/19.jpg)
19
OPTIX SHADER GENERATIONUsing the MDL SDK and NVRTC
<name>.mdl MDL SDKCompiled
Material
Builder
Class
DAG
Nodes
Texture
References
Parameter
Interface
Parameter
MacrosHeader
Traverser
Function
Getter
Classes
Hierarchy
Typedefs
Material
Constructor
Description
<name>.txt
Traverser
(<hash>.cu)
NVRTC
CompilerTraverser
<hash>.ptx
![Page 20: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/20.jpg)
20
INTEGRATION INTO ESI IC.IDO
![Page 21: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/21.jpg)
21
“ESI Rendering Innovations with NVIDIA DesignWorks™”
Andreas Mank, Team Leader Visualization, ESI Group
Markus Tavenrath, Senior Developer Technology Engineer, NVIDIA
— Source: GTC 2016, s6306
“MDL Materials to GLSL Shaders – Theory and Practice”
Andreas Süßenbach , Senior Developer Technology Engineer, NVIDIA
Andreas Mank, Team Leader Visualization, ESI Group
— Source: GTC 2016, s6311
“Implementing MDL Materials with Support for IES Lights
and AxF Appearance Representations”
Detlef Roettger, Senior Developer Technology Engineer, NVIDIA
Andreas Dietrich, Senior Software Developer Visualization, ESI Group
— Source: GTCEU 2016, s6135
![Page 22: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/22.jpg)
22
Helios Rendering ArchitectureOverview
IC.IDO
RiXGL Back-End
(DLL) . . .OptiX Back-End
(DLL)
Helios
Application
Renderer
![Page 23: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/23.jpg)
23
Helios Rendering ArchitectureInterfaces
Application API
Load and unload rendering back-ends (DLLs can be loaded at run-time)
Switch between back-ends (e.g., ray tracing or rasterization based)
Render graph control (e.g., hybrid rendering, frame composition)
Provide original (unoptimized) scene data
Back-end API
Set scene geometry and transformations (flattened two-level scene graph)
Set rendering parameters (e.g., materials, lights, whitted ray tracing or GI)
Helios
Back-End
![Page 24: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/24.jpg)
24
Helios OptiX Back-End
OptiX Back-End
Helios
OptiXMDL SDK NVRTC
MDL Parser• Reads MDL files
• Generates material parameter lists
OptiX Builder• Generates material traversers (CUDA C++)
• Compiles bindless callable programs
![Page 25: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/25.jpg)
25
MDL IN CUSTOM RENDERERS
4/28/2017
28.04.2017
MATERIAL TWEAKINGMATERIAL
CONSTRUCTION
MATERIAL SHARING (LIBRARY)N
VID
IAIR
AY
DEFINITION
MD
L S
DK
IMPLEMENTATION
CUDA (Ray Tracer)
![Page 26: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/26.jpg)
26
LIVE DEMONSTRATION
![Page 27: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/27.jpg)
27
START SD6
![Page 28: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/28.jpg)
28
CREATE A NEW MDL MATERIAL
1.
![Page 29: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/29.jpg)
29
SET MDL MATERIAL PROPERTIES
1.
2.3.
![Page 30: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/30.jpg)
30
LOAD MESH
1.
2.
3.
![Page 31: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/31.jpg)
31
ACTIVE MESH
1.
![Page 32: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/32.jpg)
32
ASSIGN NEW MATERIAL
1.
![Page 33: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/33.jpg)
33
LOAD ADDITIONAL MATERIALS
1.
![Page 34: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/34.jpg)
34
SHOW ENVIRONMENT
2.
1.
3.
![Page 35: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/35.jpg)
35
EXPORT MDL MATERIAL
1.
2.
3.
![Page 36: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/36.jpg)
36
MDL FILE
1.
2.
![Page 37: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/37.jpg)
37
START ICIDO PROOF-OF-CONCEPT
![Page 38: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/38.jpg)
38
1.
![Page 39: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/39.jpg)
39
ENABLE GLOBAL ILLUMINATION
2.3.
1.
4.
![Page 40: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/40.jpg)
40
IMPORT LIBRARY
1.
![Page 41: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/41.jpg)
41
COMPILE
1.
2.
![Page 42: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/42.jpg)
42
ASSIGN MATERIALS FROM LIBRARY
1.
2.
![Page 43: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/43.jpg)
43
COMPARE
![Page 44: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/44.jpg)
44
CHANGE COLOR
1.
![Page 45: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/45.jpg)
45
1.
![Page 46: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/46.jpg)
46
1.
2.
3.
EXPORT MDL MATERIAL
![Page 47: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/47.jpg)
47
COMPILE
1.
![Page 48: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/48.jpg)
48
COMPILE
1.
![Page 50: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/50.jpg)
50
![Page 51: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/51.jpg)
51
![Page 52: S7185 LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS …on-demand.gputechconf.com/.../s7185...optix-shaders-mdl-materials.pdf · LEVERAGING NVRTC FOR BUILDING OPTIX SHADERS FROM MDL](https://reader031.fdocuments.us/reader031/viewer/2022022110/5c11b47909d3f23d3a8c6015/html5/thumbnails/52.jpg)
52
smooth_rubber_black
cast_metal_vintage_brass
aluminum_red_oxidized
paint_metallic_red_flakes
metal_hammered_russet_copper
titanium
silver