SlideShare a Scribd company logo
1 of 90
Download to read offline
N E W D E V E L O P M E N T S I N M A T E R I A L X
A S W F O P E N S O U R C E D A Y S 2 0 2 1
M A T E R I A L X A T T H E A S W F
I N T R O D U C T I O N
• MaterialX joined the Academy Software
Foundation this year
• Opportunities for additional teams to
collaborate on its development
• Steering meetings are open to the entire
community
M A T E R I A L X S E S S I O N S C H E D U L E
I N T R O D U C T I O N
MaterialX in Hydra - Karen Lucknavalai (Pixar)
Shader Translation Graphs - Jonathan Stone (ILM)
MaterialX Shader Generation - Bernard Kwok & Ashwin Bhat (Autodesk)
MaterialX in MayaUSD - Krystian Ligenza (Autodesk)
MaterialX in Houdini - Mark Elendt (SideFX)
The Adobe Standard Material Model - Paul Edmondson (Adobe)
Adding MaterialX Closures to OSL – Chris Kulla (Epic Games)
S H A D E R T R A N S L A T I O N G R A P H S
J O N A T H A N S T O N E – I N D U S T R I A L L I G H T & M A G I C
P H Y S I C A L L Y B A S E D S H A D I N G
N O D E S
B A C K G R O U N D
Standard building blocks for composing
shading models
Existing graph definitions for Autodesk
Standard Surface and UsdPreviewSurface
New graph definitions for the MaterialX
Lama nodes
G R A P H B A S E D S H A D I N G M O D E L S
B A C K G R O U N D
High-level definition of shading model
behavior
Maintains independence from renderer-
specific choices
Allows more natural comparison of
differences between models
S H A D E R T R A N S L A T I O N G R A P H S
N E W D E V E L O P M E N T S
Graph based definitions of translations
between shading models
MaterialX shader generation can be
applied to both content and translation
T a la i ca emai li e a g a h
be baked to flat textures
B B - 8 A T S I G G R A P H 2 0 1 9
N E W D E V E L O P M E N T S
S T A N D A R D S U R F A C E
I L M U N I F I E D
I L M P R O D U C T I O N T E S T S
N E W D E V E L O P M E N T S
ILM began refining the technique for use in
production
Translation becomes data-driven and
automated
Extended to include dual specular lobes,
anisotropy, and other techniques
I L M U N I F I E D S T A N D A R D S U R F A C E
I L M P R O D U C T I O N T E S T S
N E W D E V E L O P M E N T S
I L M U N I F I E D S T A N D A R D S U R F A C E
I L M P R O D U C T I O N T E S T S
N E W D E V E L O P M E N T S
I L M U N I F I E D S T A N D A R D S U R F A C E
E X A M P L E T R A N S L A T I O N G R A P H
N E W D E V E L O P M E N T S
A first example translation graph has been
added to MaterialX
Translates from Standard Surface to
UsdPreviewSurface
E X A M P L E T R A N S L A T I O N G R A P H
N E W D E V E L O P M E N T S
UsdPreviewSurface has a smaller feature
set, so some techniques are omitted
Anisotropic roughness is averaged
Sheen, thin film, and subsurface effects are
ignored
S T A N D A R D S U R F A C E U S D P R E V I E W S U R F A C E
E X A M P L E T R A N S L A T I O N G R A P H
N E W D E V E L O P M E N T S
For a Python example, see
translateshader.py in the Scripts folder
For a C++ example, see Viewer.cpp in the
MaterialXView project
Shader translation has been added to
render tests in GitHub Actions
T H A N K S T O
A C K N O W L E D G E M E N T S
Doug Smythe Eoghan Cunneen Roger Cordes
Madeleine Yip Emma Holthouser François Chardavoine
André Mazzone David Meny Rob Bredow
Karen Lucknavalai George ElKoura Nick Porcino
Bernard Kwok Ashwin Bhat Niklas Harrysson
Krystian Ligenza Zap Andersson Eric Bourque
Paul Edmondson David Larsson Guido Quaroni
Mark Elendt Lee Kerley Mark Tucker
Chris Kulla Adrien Herubel Larry Gritz
© 2021 Autodesk, Inc.
MaterialX Shader Generation
Bernard Kwok and Ashwin Bhat
bernard.kwok@autodesk.com
ashwin.bhat@autodesk.com
1.38.x Updates
Shading Graph Configurability
Consistent and robust compound and
functional graph support
Improved traversal logic for node and graph
interface connections
New: Nodegraph-to-nodegraph connections,
Translation graph support.
Improved namespace, version, target support
Improved input value resolution to handle:
inheritance, interface connections,
geometry and filenames (incl. tokens)
Improved ability to code generate for
individual nodes, and sub-graphs.
Compound
/ Functional
Nodegraph
version / namespace / target
tagging
Nodegraph / Nodegraph
Connections
Nodegraph / Nodegraph
Connections
Nodegraph / Nodegraph Connections
Input
Interfaces Output
Interfaces glsl
mdl
osl
essl
Improved light injection
and geometry stream
bindings
Improved uniform
injection
including
layout support
Improved reflection for
resource binding and
transparency heuristics
Improved image format
and texturing support
Code Generation Configurability
CodeGen
Lighting
Geometry
Shading Reflection
Uniform
Injection
Light
Injection
Shader
Injection
Transparency
Images
R2-D2 © & ™ Lucasfilm LTD.
Used with permission
R2-D2 © & ™
Lucasfilm LTD. Used
with permission
Rendering validation (Intel OpenSWR)
MaterialX Web: WASM generation and Github pages hosting.
Goal: support fully automated code generation / rendering validation
Infrastructure
Github Actions Migration
Pages
Remote Rendering
Initiatives In Progress
Color Management
Challenges:
ACEScg color space naming consistency
Code generation targets: GLSL, OSL, MDL, ESSL
Deployment flexibility: pre-compute, function generation, full shader, reference definition
OCIO enhancements for uniform injection / format control
Definitions
CodeGen
Config
Node Definition
.glsl
.osl
.glsl .osl
Injection
Transform
OCIO v2 Integration
CodeGen
.mdl
SPIRV Code Generation Overview
Use mx::GlslResourceBindingContext
Generate SPIRV compatible GLSL.
E.g., use #extension GL_ARB_shading_language_420pack
Demonstrated feasibility of Cross Compilation during
SIGGRAPH 2020 Autodesk Vision Series demo.
Explore and improve KhronosGroup/SPIRV-Tools
to provide per target Shader Reflection.
.glsl
CodeGen
SPIRV-Cross
Document
Image credit:
3ds Max: Open Standards & Next Generation Viewport
Framework (SIGGRAPH 2020 Autodesk Vision Series)
MaterialX for Web
In progress project for upcoming release.
Components:
JavaScript Bindings + Web Assembly.
CodeGen for OpenGL ES 3.0.
Web Viewer Sample Application
https://autodesk-forks.github.io/MaterialX/
Fully compatible with current GLSL implementation.
Supported Browsers Chrome, Firefox, Edge, Safari*
Supports material shading graphs and pattern
graphs (textures, procedurals)
Framework agnostic.
MaterialX JavaScript library
Above: Examples from MaterialX distribution using
Standard Surface in Google Chrome.
Below: Example procedural material from Adobe
Substance as MaterialX in Google Chrome.
MaterialX for Web
Deployment options (framework agnostic)
Three.js
CodeGen
Browser deployment using JavaScript Bindings
Server based deployment using Native or WASM
Material
Definitions
Babylon.js
MaterialX WebGL (in Google Chrome)
MaterialX API in JavaScript, using GL ES Shader Generator
Future Work
Forthcoming MDL 1.7 release will have better alignment with MaterialX (e.g., sheen layer,
unbound mixer nodes)
End of year target to have MaterialX import for Omniverse
Background improvements in MDL generation and consumption (E.g., resource path
handling)
See SIGGRAPH 2021 updates from NVIDIA.
NVIDIA MDL Updates
CodeGen
CodeGen
Generation Configurability void NG_ramp4_color3(color valuetl, color valuetr, color valuebl, color valuebr,
vector2 texcoord, output color out)
{
vector2 N_txclamp_color3_low_tmp = vector2(0, 0);
vector2 N_txclamp_color3_high_tmp = vector2(1, 1);
vector2 N_txclamp_color3_out = clamp(texcoord, N_txclamp_color3_low_tmp,
N_txclamp_color3_high_tmp);
float N_t_color3_out = 0.0;
NG_extract_vector2(N_txclamp_color3_out, 1, N_t_color3_out);
float N_s_color3_out = 0.0;
NG_extract_vector2(N_txclamp_color3_out, 0, N_s_color3_out);
color N_mixbot_color3_out = mix(valuebl, valuebr, N_s_color3_out);
color N_mixtop_color3_out = mix(valuetl, valuetr, N_s_color3_out);
color N_mix_color3_out = mix(N_mixtop_color3_out, N_mixbot_color3_out,
N_t_color3_out);
out = N_mix_color3_out;
}
Fragment
Uniform Format / Reflection
Bake
Export
Fragment / Function Export
vs new generator derivation
Uniform format control / reflection
Sub-graph / node export as graphs
or images
Performance
optimizations
for language / platform /
workflow
Optimize at code, node,
and/or definition level
Repackaging of resources:
baking, packing,
access atlas / arrays (e.g. UDIMs),
alternate formats (e.g. IBL cubemaps)
Generation Optimization
void NG_ramp4_color3_slow(color valuetl, color valuetr, color valuebl,
color valuebr, vector2 texcoord, output color out)
{
vector2 N_txclamp_color3_low_tmp = vector2(0, 0);
vector2 N_txclamp_color3_high_tmp = vector2(1, 1);
vector2 N_txclamp_color3_out = clamp(texcoord,
N_txclamp_color3_low_tmp, N_txclamp_color3_high_tmp);
float N_t_color3_out = 0.0;
NG_extract_vector2(N_txclamp_color3_out, 1, N_t_color3_out);
float N_s_color3_out = 0.0;
NG_extract_vector2(N_txclamp_color3_out, 0, N_s_color3_out);
color N_mixbot_color3_out = mix(valuebl, valuebr, N_s_color3_out);
color N_mixtop_color3_out = mix(valuetl, valuetr, N_s_color3_out);
color N_mix_color3_out = mix(N_mixtop_color3_out,
N_mixbot_color3_out, N_t_color3_out);
out = N_mix_color3_out;
}
void NG_ramp4_color3_fast(color valuetl, color
valuetr, color valuebl, color valuebr, vector2
texcoord, output color out)
{
out = fast_code;
}
Optimize
Reparametrize
Optimize
Format / Pack
R2-D2 © & ™ Lucasfilm LTD. Used with permission
• Publishing for reuse,
produce reference libraries
(e.g. OSL reference library)
• Realtime Updates:
• Observability
• Change
management
• Diagnostics /
Feedback
Generation Deployment
Node Definition
Reference
Definition Library
Publish
void NG_ramp4_color3_fast(color valuetl, color valuetr,
color valuebl, color valuebr, vector2 texcoord, output color out)
{
vector2 N_txclamp_color3_low_tmp = vector2(0, 0);
vector2 N_txclamp_color3_high_tmp = vector2(1, 1);
vector2 N_txclamp_color3_out =
clamp(texcoord, N_txclamp_color3_low_tmp, color N_mixtop_color3_out =
mix(valuetl, valuetr, N_s_color3_out);
color N_mix_color3_out = mix(N_mixtop_color3_out, N_mixbot_color3_out,
N_t_color3_out);
out = N_mix_color3_out;
}
Change Management
Observation
Diagnostics
Credits
Adam Felt
Aura Munoz
Brent Scannell
Cedrick
Muenstermann
David Larsson
Doug Smythe
Doug Walker
Dusan Kovic
Eric Bourque
Fedor Nikolayev
Gareth Morgan
Guillaume Laforge
Harv Saund
Henrik Edstrom
Jan Jordan
Jerran Schmidt
Jerry Gamache
Jonathan Stone
Kai Rohmer
Kevin Zhang
Krishna Kalvai
Krishnan Chunangad
Ramachandran
Krystian Ligenza
Lutz Kettner
Mauricio Vives
Nicolas Savva
Niklas Harrysson
Nikola Milosevic
Patrick Hodoul
Philippe Frericks
Phenix Xu
Rishabh Bisht
Roberto Ziche
Sankar Ganesh
Sebastian Dunkel
Toni Qin
Wayne Catalfano
Will Telford
Zap Andersson
Autodesk and the Autodesk logo are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries. All other brand names, product names, or trademarks belong to their respective holders.
Autodesk reserves the right to alter product and services offerings, and specifications and pricing at any time without notice, and is not responsible for typographical or graphical errors that may appear in this document.
© 2021 Autodesk. All rights reserved.
© 2021 Autodesk, Inc.
MaterialX in MayaUSD and ArnoldUSD
Krystian Ligenza
Software Architect | krystian.ligenza@autodesk.com
Safe Harbor Statement
During the course of this presentation, we may make statements regarding future events
and/or statements regarding planned or future development efforts for our existing or new
products and services.
We wish to caution you that such statements reflect our current expectations, estimates and
assumptions based on factors currently known to us and that actual events or results could
differ materially. Also, these statements are not intended to be a promise or guarantee of future
delivery of products, services or features but merely reflect our current plans, which may
change.
Purchasing decisions should not be made based upon reliance on these statements. The
statements made in this presentation are being made as of the time and date of its live
presentation. We do not assume any obligation to update any statements we make to reflect
events that occur or circumstances that exist after the date of this presentation.
Level-set on MayaUSD
MayaUSD | Repository
Closed pull requests:
1086
Closed issues:
266 (customer reported)
Stars:
422
Forks:
124
Releases:
11
Total downloads:
13 877
MayaUSD | Workflows
Import/Export Direct Editing Visualization
R2-D2 © & ™ Lucasfilm LTD.
Used with permission
MayaUSD | Interop via UsdShade + PreviewSurface
Blinn
Phong
Standard
Surface
Lambert
Preview
Surface
Blinn
Phong
Standard
Surface
Lambert
Preview
Surface
Export Import
Asset source: https://developer.apple.com/augmented-reality/quick-look/
Preview Surface
Custom translation with plugin architecture
MaterialX in MayaUSD
MaterialX | Phase1 Workflows
Import/Export Visualization
R2-D2 © & ™ Lucasfilm LTD.
Used with permission
MaterialX | Interop via UsdShade + MaterialX
Standard
Surface
Preview
Surface
Standard surface
Preview surface
Standard
Surface
Preview
Surface
Export Import
Asset source: https://github.com/KhronosGroup/glTF-Sample-Models
MaterialX | Visualization in Maya's Viewport
We are using the hdMtlx translation
framework, which is also in use for
hdStorm and hdPrman, and using
the same GLSL code generator as
hdStorm.
MaterialX | Visualization in Maya's Viewport
Problem: USD refers to texture coordinates by name, but MaterialX defaults to index
Solution: Modify MaterialX GLSL codegen for geompropvalue to emit varying inputs
Modify MaterialX document in-flight to remap indexed UV streams to USD named streams
MaterialX | Visualization in Maya's Viewport
Problem: MaterialX did not interact with Maya’s scene lights
Solution: Modify the Maya light code generator to provide GLSL entry points to query Maya light information
directly from MaterialX light loop
BB-8 and R2-D2 © & ™ Lucasfilm LTD.
Used with permission
MaterialX | Visualization in Maya's Viewport
Problem: A single instance of a standard surface material can take seconds, and each material generated
its own shader
Solution: Computing the minimal topologically equivalent Hydra material
Opportunities & References
Opportunities / future investigations
§ Render context
§ More material translators
§ Direct material binding and graph &
parameters authoring
§ Color Management
§ ArnoldUSD
Useful links:
§ https://github.com/Autodesk/maya-
usd/blob/dev/doc/MaterialX.md
§ https://github.com/autodesk-
forks/MaterialX/tree/adsk_contrib/dev/sour
ce/MaterialXGenOgsXml#superior-
environmental-lighting
§ https://github.com/autodesk-
forks/MaterialX
§ https://github.com/Autodesk/maya-usd/
§ https://github.com/Autodesk/maya-
usd/discussions
Sneak-peek: MaterialX in ArnoldUSD
Sneak-peek: MaterialX in ArnoldUSD
BB-8 and R2-D2 © & ™ Lucasfilm LTD.
Used with permission
Credits
Adam Felt
Ashwin Bhat
Aura Munoz
Brent Scannell
Bernard Kwok
Cedrick Muenstermann
David Larsson
Doug Smythe
Doug Walker
Dusan Kovic
Eric Bourque
Fedor Nikolayev
Gareth Morgan
Guillaume Laforge
Harv Saund
Henrik Edstrom
Jan Jordan
Jerran Schmidt
Jerry Gamache
Jonathan Stone
Kai Rohmer
Kevin Zhang
Krishna Kalvai
Krishnan Chunangad
Ramachandran
Krystian Ligenza
Lutz Kettner
Mauricio Vives
Nicolas Savva
Niklas Harrysson
Nikola Milosevic
Patrick Hodoul
Pal Mezei
Philippe Frericks
Phenix Xu
Rishabh Bisht
Roberto Ziche
Sankar Ganesh
Sebastian Dunkel
Toni Qin
Wayne Catalfano
Will Telford
Zap Andersson
Autodesk and the Autodesk logo are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries. All other brand names, product names, or trademarks belong to their respective holders.
Autodesk reserves the right to alter product and services offerings, and specifications and pricing at any time without notice, and is not responsible for typographical or graphical errors that may appear in this document.
© 2021 Autodesk. All rights reserved.
MaterialX and the
Adobe Standard
Material Model
Paul Edmondson
Senior Graphics Engineer, Adobe
Adobe and 3D
• Adobe has a long history of forays into 3D
• Photoshop, After Effects, Dimension(s), Aero
• Allegorithmic and Medium teams joined Adobe in 2019
• Substance 3D Collection released in 2021:
• Designer
• Painter
• Sampler
• Stager
• Modeler (beta)
The Adobe Standard Material
• A common, unified basis for material interchange between tools
• Not a shader to end all shaders, but a model for data-driven look alignment
• Goals:
• Support for use by raster-based and traced renderers
• Backward compatibility with materials in existing tools
• Maximal interoperability between apps for most materials
• Emphasis on art-directability and ease of use where possible
• Not bound to any single language or file format
• Don’t reinvent the wheel
Version 4 Features
• Expanded metal/roughness PBR model
• Native material model for Substance 3D Stager via MDL and SBSAR
• Compatibility with Substance 3D Assets, Painter, and Designer
• Technical specification to be posted in coming weeks
• Translatable with minimal loss to/from Disney PBR, glTF, USD Preview
Surface, Autodesk Standard Surface, etc. for supported features
Why we didn’t use ___________
• The Adobe Standard Material (ASM) model is not meant to
supplant all other material models
• The Substance 3D tools continue to support many
alternate models
• We needed something that could represent
the intersection of our toolsets with
minimal loss of information
• We also wanted to support
interchange with external
DCC tools
• Eventual support of MaterialX was
always planned for
• Only prototype stage at present, but
with eye toward future
• Relatively easy to get reasonable
results with standard PBR nodes
• Some BxDFs will require
customization down the line for full
visual fidelity
MaterialX Prototype
ASM in MaterialXView
ASM in MaterialX + USD
Next Steps
• Finish prototype with standard node support of all properties
• Translation support to other common models like Standard Surface
• Support of additional targets
• Share!
Project Collaborators:
• David Larsson (dlarsson@adobe.com)
• Andréa Machizaud (machizau@adobe.com)
• Paul Edmondson (paule@adobe.com)
MATERIAL X DEVELOPMENTS AT THE ASWF
MATERIAL X DEVELOPMENTS AT THE ASWF
MATERIAL X DEVELOPMENTS AT THE ASWF
MATERIAL X DEVELOPMENTS AT THE ASWF
MATERIAL X DEVELOPMENTS AT THE ASWF
MATERIAL X DEVELOPMENTS AT THE ASWF
MATERIAL X DEVELOPMENTS AT THE ASWF
MATERIAL X DEVELOPMENTS AT THE ASWF
MATERIAL X DEVELOPMENTS AT THE ASWF
MATERIAL X DEVELOPMENTS AT THE ASWF
MATERIAL X DEVELOPMENTS AT THE ASWF

More Related Content

Similar to MATERIAL X DEVELOPMENTS AT THE ASWF

XConf 2022 - Code As Data: How data insights on legacy codebases can fill the...
XConf 2022 - Code As Data: How data insights on legacy codebases can fill the...XConf 2022 - Code As Data: How data insights on legacy codebases can fill the...
XConf 2022 - Code As Data: How data insights on legacy codebases can fill the...Alessandro Confetti
 
Presentation NBMP and PCC
Presentation NBMP and PCCPresentation NBMP and PCC
Presentation NBMP and PCCRufael Mekuria
 
Easy edd phd talks 28 oct 2008
Easy edd phd talks 28 oct 2008Easy edd phd talks 28 oct 2008
Easy edd phd talks 28 oct 2008Taha Sochi
 
Evaluation of conditional images synthesis: generating a photorealistic image...
Evaluation of conditional images synthesis: generating a photorealistic image...Evaluation of conditional images synthesis: generating a photorealistic image...
Evaluation of conditional images synthesis: generating a photorealistic image...SamanthaGallone
 
Gdc 14 bringing unreal engine 4 to open_gl
Gdc 14 bringing unreal engine 4 to open_glGdc 14 bringing unreal engine 4 to open_gl
Gdc 14 bringing unreal engine 4 to open_glchangehee lee
 
Easydd program3
Easydd program3Easydd program3
Easydd program3Taha Sochi
 
Learning to Spot and Refactor Inconsistent Method Names
Learning to Spot and Refactor Inconsistent Method NamesLearning to Spot and Refactor Inconsistent Method Names
Learning to Spot and Refactor Inconsistent Method NamesDongsun Kim
 
[2017 GDC] Radeon ProRender and Radeon Rays in a Gaming Rendering Workflow
[2017 GDC] Radeon ProRender and Radeon Rays in a Gaming Rendering Workflow[2017 GDC] Radeon ProRender and Radeon Rays in a Gaming Rendering Workflow
[2017 GDC] Radeon ProRender and Radeon Rays in a Gaming Rendering WorkflowTakahiro Harada
 
Generating super resolution images using transformers
Generating super resolution images using transformersGenerating super resolution images using transformers
Generating super resolution images using transformersNEERAJ BAGHEL
 
[Gary entsminger] turbo_pascal_for_windows_bible(book_fi.org)
[Gary entsminger] turbo_pascal_for_windows_bible(book_fi.org)[Gary entsminger] turbo_pascal_for_windows_bible(book_fi.org)
[Gary entsminger] turbo_pascal_for_windows_bible(book_fi.org)Yogi Sharo
 
Minko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko3D
 
Taste Java In The Clouds
Taste Java In The CloudsTaste Java In The Clouds
Taste Java In The CloudsJacky Chu
 
AUTO AI 2021 talk Real world data augmentations for autonomous driving : B Ra...
AUTO AI 2021 talk Real world data augmentations for autonomous driving : B Ra...AUTO AI 2021 talk Real world data augmentations for autonomous driving : B Ra...
AUTO AI 2021 talk Real world data augmentations for autonomous driving : B Ra...Ravi Kiran B.
 
Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...
Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...
Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...AMD Developer Central
 
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習 Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習 Herman Wu
 
Lucas Theis - Compressing Images with Neural Networks - Creative AI meetup
Lucas Theis - Compressing Images with Neural Networks - Creative AI meetupLucas Theis - Compressing Images with Neural Networks - Creative AI meetup
Lucas Theis - Compressing Images with Neural Networks - Creative AI meetupLuba Elliott
 

Similar to MATERIAL X DEVELOPMENTS AT THE ASWF (20)

XConf 2022 - Code As Data: How data insights on legacy codebases can fill the...
XConf 2022 - Code As Data: How data insights on legacy codebases can fill the...XConf 2022 - Code As Data: How data insights on legacy codebases can fill the...
XConf 2022 - Code As Data: How data insights on legacy codebases can fill the...
 
Presentation NBMP and PCC
Presentation NBMP and PCCPresentation NBMP and PCC
Presentation NBMP and PCC
 
Easy edd phd talks 28 oct 2008
Easy edd phd talks 28 oct 2008Easy edd phd talks 28 oct 2008
Easy edd phd talks 28 oct 2008
 
Evaluation of conditional images synthesis: generating a photorealistic image...
Evaluation of conditional images synthesis: generating a photorealistic image...Evaluation of conditional images synthesis: generating a photorealistic image...
Evaluation of conditional images synthesis: generating a photorealistic image...
 
Pixel shaders
Pixel shadersPixel shaders
Pixel shaders
 
NvFX GTC 2013
NvFX GTC 2013NvFX GTC 2013
NvFX GTC 2013
 
Gdc 14 bringing unreal engine 4 to open_gl
Gdc 14 bringing unreal engine 4 to open_glGdc 14 bringing unreal engine 4 to open_gl
Gdc 14 bringing unreal engine 4 to open_gl
 
Easydd program3
Easydd program3Easydd program3
Easydd program3
 
Learning to Spot and Refactor Inconsistent Method Names
Learning to Spot and Refactor Inconsistent Method NamesLearning to Spot and Refactor Inconsistent Method Names
Learning to Spot and Refactor Inconsistent Method Names
 
[2017 GDC] Radeon ProRender and Radeon Rays in a Gaming Rendering Workflow
[2017 GDC] Radeon ProRender and Radeon Rays in a Gaming Rendering Workflow[2017 GDC] Radeon ProRender and Radeon Rays in a Gaming Rendering Workflow
[2017 GDC] Radeon ProRender and Radeon Rays in a Gaming Rendering Workflow
 
Generating super resolution images using transformers
Generating super resolution images using transformersGenerating super resolution images using transformers
Generating super resolution images using transformers
 
[Gary entsminger] turbo_pascal_for_windows_bible(book_fi.org)
[Gary entsminger] turbo_pascal_for_windows_bible(book_fi.org)[Gary entsminger] turbo_pascal_for_windows_bible(book_fi.org)
[Gary entsminger] turbo_pascal_for_windows_bible(book_fi.org)
 
Minko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSL
 
Taste Java In The Clouds
Taste Java In The CloudsTaste Java In The Clouds
Taste Java In The Clouds
 
AUTO AI 2021 talk Real world data augmentations for autonomous driving : B Ra...
AUTO AI 2021 talk Real world data augmentations for autonomous driving : B Ra...AUTO AI 2021 talk Real world data augmentations for autonomous driving : B Ra...
AUTO AI 2021 talk Real world data augmentations for autonomous driving : B Ra...
 
Easy edd
Easy eddEasy edd
Easy edd
 
Duel of Two Libraries: Cairo & Skia
Duel of Two Libraries: Cairo & SkiaDuel of Two Libraries: Cairo & Skia
Duel of Two Libraries: Cairo & Skia
 
Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...
Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...
Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...
 
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習 Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
 
Lucas Theis - Compressing Images with Neural Networks - Creative AI meetup
Lucas Theis - Compressing Images with Neural Networks - Creative AI meetupLucas Theis - Compressing Images with Neural Networks - Creative AI meetup
Lucas Theis - Compressing Images with Neural Networks - Creative AI meetup
 

More from Alejandro Franceschi

PwC | AI Analysis, Sizing the Prize
PwC | AI Analysis, Sizing the PrizePwC | AI Analysis, Sizing the Prize
PwC | AI Analysis, Sizing the PrizeAlejandro Franceschi
 
Meta: Four Predictions for the Future of Work
Meta: Four Predictions for the Future of WorkMeta: Four Predictions for the Future of Work
Meta: Four Predictions for the Future of WorkAlejandro Franceschi
 
A Path Towards Autonomous Machines
A Path Towards Autonomous MachinesA Path Towards Autonomous Machines
A Path Towards Autonomous MachinesAlejandro Franceschi
 
Google | Infinite Nature Zero Whitepaper
Google | Infinite Nature Zero WhitepaperGoogle | Infinite Nature Zero Whitepaper
Google | Infinite Nature Zero WhitepaperAlejandro Franceschi
 
Dialing up the danger: Virtual reality for the simulation of risk
Dialing up the danger: Virtual reality for the simulation of riskDialing up the danger: Virtual reality for the simulation of risk
Dialing up the danger: Virtual reality for the simulation of riskAlejandro Franceschi
 
Bank of England Staff Working Paper No 605 The Macroeconomics of Central Bank...
Bank of England Staff Working Paper No 605 The Macroeconomics of Central Bank...Bank of England Staff Working Paper No 605 The Macroeconomics of Central Bank...
Bank of England Staff Working Paper No 605 The Macroeconomics of Central Bank...Alejandro Franceschi
 
Mixed Reality: Pose Aware Object Replacement for Alternate Realities
Mixed Reality: Pose Aware Object Replacement for Alternate RealitiesMixed Reality: Pose Aware Object Replacement for Alternate Realities
Mixed Reality: Pose Aware Object Replacement for Alternate RealitiesAlejandro Franceschi
 
Google Research Siggraph Whitepaper | Total Relighting: Learning to Relight P...
Google Research Siggraph Whitepaper | Total Relighting: Learning to Relight P...Google Research Siggraph Whitepaper | Total Relighting: Learning to Relight P...
Google Research Siggraph Whitepaper | Total Relighting: Learning to Relight P...Alejandro Franceschi
 
Intel, Intelligent Systems Lab: Syable View Synthesis Whitepaper
Intel, Intelligent Systems Lab: Syable View Synthesis WhitepaperIntel, Intelligent Systems Lab: Syable View Synthesis Whitepaper
Intel, Intelligent Systems Lab: Syable View Synthesis WhitepaperAlejandro Franceschi
 
PWC: Why we believe VR/AR will boost global GDP by $1.5 trillion
PWC: Why we believe VR/AR will boost global GDP by $1.5 trillionPWC: Why we believe VR/AR will boost global GDP by $1.5 trillion
PWC: Why we believe VR/AR will boost global GDP by $1.5 trillionAlejandro Franceschi
 
U.K. Immersive Tech: VC Report, 2021
U.K. Immersive Tech: VC Report, 2021U.K. Immersive Tech: VC Report, 2021
U.K. Immersive Tech: VC Report, 2021Alejandro Franceschi
 
Intel ILS: Enhancing Photorealism Enhancement
Intel ILS: Enhancing Photorealism EnhancementIntel ILS: Enhancing Photorealism Enhancement
Intel ILS: Enhancing Photorealism EnhancementAlejandro Franceschi
 
Artificial Intelligence Index Report, 2021
Artificial Intelligence Index Report, 2021Artificial Intelligence Index Report, 2021
Artificial Intelligence Index Report, 2021Alejandro Franceschi
 
HAI Industry Brief: AI & the Future of Work Post Covid
HAI Industry Brief: AI & the Future of Work Post CovidHAI Industry Brief: AI & the Future of Work Post Covid
HAI Industry Brief: AI & the Future of Work Post CovidAlejandro Franceschi
 
2021 Salary Guide for Creative & Marketing | North America
2021 Salary Guide for Creative & Marketing | North America2021 Salary Guide for Creative & Marketing | North America
2021 Salary Guide for Creative & Marketing | North AmericaAlejandro Franceschi
 

More from Alejandro Franceschi (20)

Resume: Alejandro Franceschi
Resume: Alejandro FranceschiResume: Alejandro Franceschi
Resume: Alejandro Franceschi
 
State of AI, 2019
State of AI, 2019State of AI, 2019
State of AI, 2019
 
PwC | AI Analysis, Sizing the Prize
PwC | AI Analysis, Sizing the PrizePwC | AI Analysis, Sizing the Prize
PwC | AI Analysis, Sizing the Prize
 
Meta: Four Predictions for the Future of Work
Meta: Four Predictions for the Future of WorkMeta: Four Predictions for the Future of Work
Meta: Four Predictions for the Future of Work
 
A Path Towards Autonomous Machines
A Path Towards Autonomous MachinesA Path Towards Autonomous Machines
A Path Towards Autonomous Machines
 
Google | Infinite Nature Zero Whitepaper
Google | Infinite Nature Zero WhitepaperGoogle | Infinite Nature Zero Whitepaper
Google | Infinite Nature Zero Whitepaper
 
Dialing up the danger: Virtual reality for the simulation of risk
Dialing up the danger: Virtual reality for the simulation of riskDialing up the danger: Virtual reality for the simulation of risk
Dialing up the danger: Virtual reality for the simulation of risk
 
Value Creation in the Metaverse
Value Creation in the MetaverseValue Creation in the Metaverse
Value Creation in the Metaverse
 
Bank of England Staff Working Paper No 605 The Macroeconomics of Central Bank...
Bank of England Staff Working Paper No 605 The Macroeconomics of Central Bank...Bank of England Staff Working Paper No 605 The Macroeconomics of Central Bank...
Bank of England Staff Working Paper No 605 The Macroeconomics of Central Bank...
 
CITIBANK | METAVERSE AND MONEY
CITIBANK | METAVERSE AND MONEYCITIBANK | METAVERSE AND MONEY
CITIBANK | METAVERSE AND MONEY
 
Vitalik Buterin | Crypto Cities
Vitalik Buterin | Crypto CitiesVitalik Buterin | Crypto Cities
Vitalik Buterin | Crypto Cities
 
Mixed Reality: Pose Aware Object Replacement for Alternate Realities
Mixed Reality: Pose Aware Object Replacement for Alternate RealitiesMixed Reality: Pose Aware Object Replacement for Alternate Realities
Mixed Reality: Pose Aware Object Replacement for Alternate Realities
 
Google Research Siggraph Whitepaper | Total Relighting: Learning to Relight P...
Google Research Siggraph Whitepaper | Total Relighting: Learning to Relight P...Google Research Siggraph Whitepaper | Total Relighting: Learning to Relight P...
Google Research Siggraph Whitepaper | Total Relighting: Learning to Relight P...
 
Intel, Intelligent Systems Lab: Syable View Synthesis Whitepaper
Intel, Intelligent Systems Lab: Syable View Synthesis WhitepaperIntel, Intelligent Systems Lab: Syable View Synthesis Whitepaper
Intel, Intelligent Systems Lab: Syable View Synthesis Whitepaper
 
PWC: Why we believe VR/AR will boost global GDP by $1.5 trillion
PWC: Why we believe VR/AR will boost global GDP by $1.5 trillionPWC: Why we believe VR/AR will boost global GDP by $1.5 trillion
PWC: Why we believe VR/AR will boost global GDP by $1.5 trillion
 
U.K. Immersive Tech: VC Report, 2021
U.K. Immersive Tech: VC Report, 2021U.K. Immersive Tech: VC Report, 2021
U.K. Immersive Tech: VC Report, 2021
 
Intel ILS: Enhancing Photorealism Enhancement
Intel ILS: Enhancing Photorealism EnhancementIntel ILS: Enhancing Photorealism Enhancement
Intel ILS: Enhancing Photorealism Enhancement
 
Artificial Intelligence Index Report, 2021
Artificial Intelligence Index Report, 2021Artificial Intelligence Index Report, 2021
Artificial Intelligence Index Report, 2021
 
HAI Industry Brief: AI & the Future of Work Post Covid
HAI Industry Brief: AI & the Future of Work Post CovidHAI Industry Brief: AI & the Future of Work Post Covid
HAI Industry Brief: AI & the Future of Work Post Covid
 
2021 Salary Guide for Creative & Marketing | North America
2021 Salary Guide for Creative & Marketing | North America2021 Salary Guide for Creative & Marketing | North America
2021 Salary Guide for Creative & Marketing | North America
 

Recently uploaded

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 

Recently uploaded (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 

MATERIAL X DEVELOPMENTS AT THE ASWF

  • 1. N E W D E V E L O P M E N T S I N M A T E R I A L X A S W F O P E N S O U R C E D A Y S 2 0 2 1
  • 2. M A T E R I A L X A T T H E A S W F I N T R O D U C T I O N • MaterialX joined the Academy Software Foundation this year • Opportunities for additional teams to collaborate on its development • Steering meetings are open to the entire community
  • 3. M A T E R I A L X S E S S I O N S C H E D U L E I N T R O D U C T I O N MaterialX in Hydra - Karen Lucknavalai (Pixar) Shader Translation Graphs - Jonathan Stone (ILM) MaterialX Shader Generation - Bernard Kwok & Ashwin Bhat (Autodesk) MaterialX in MayaUSD - Krystian Ligenza (Autodesk) MaterialX in Houdini - Mark Elendt (SideFX) The Adobe Standard Material Model - Paul Edmondson (Adobe) Adding MaterialX Closures to OSL – Chris Kulla (Epic Games)
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16. S H A D E R T R A N S L A T I O N G R A P H S J O N A T H A N S T O N E – I N D U S T R I A L L I G H T & M A G I C
  • 17. P H Y S I C A L L Y B A S E D S H A D I N G N O D E S B A C K G R O U N D Standard building blocks for composing shading models Existing graph definitions for Autodesk Standard Surface and UsdPreviewSurface New graph definitions for the MaterialX Lama nodes
  • 18. G R A P H B A S E D S H A D I N G M O D E L S B A C K G R O U N D High-level definition of shading model behavior Maintains independence from renderer- specific choices Allows more natural comparison of differences between models
  • 19. S H A D E R T R A N S L A T I O N G R A P H S N E W D E V E L O P M E N T S Graph based definitions of translations between shading models MaterialX shader generation can be applied to both content and translation T a la i ca emai li e a g a h be baked to flat textures
  • 20. B B - 8 A T S I G G R A P H 2 0 1 9 N E W D E V E L O P M E N T S S T A N D A R D S U R F A C E I L M U N I F I E D
  • 21. I L M P R O D U C T I O N T E S T S N E W D E V E L O P M E N T S ILM began refining the technique for use in production Translation becomes data-driven and automated Extended to include dual specular lobes, anisotropy, and other techniques I L M U N I F I E D S T A N D A R D S U R F A C E
  • 22. I L M P R O D U C T I O N T E S T S N E W D E V E L O P M E N T S I L M U N I F I E D S T A N D A R D S U R F A C E
  • 23. I L M P R O D U C T I O N T E S T S N E W D E V E L O P M E N T S I L M U N I F I E D S T A N D A R D S U R F A C E
  • 24. E X A M P L E T R A N S L A T I O N G R A P H N E W D E V E L O P M E N T S A first example translation graph has been added to MaterialX Translates from Standard Surface to UsdPreviewSurface
  • 25. E X A M P L E T R A N S L A T I O N G R A P H N E W D E V E L O P M E N T S UsdPreviewSurface has a smaller feature set, so some techniques are omitted Anisotropic roughness is averaged Sheen, thin film, and subsurface effects are ignored S T A N D A R D S U R F A C E U S D P R E V I E W S U R F A C E
  • 26. E X A M P L E T R A N S L A T I O N G R A P H N E W D E V E L O P M E N T S For a Python example, see translateshader.py in the Scripts folder For a C++ example, see Viewer.cpp in the MaterialXView project Shader translation has been added to render tests in GitHub Actions
  • 27. T H A N K S T O A C K N O W L E D G E M E N T S Doug Smythe Eoghan Cunneen Roger Cordes Madeleine Yip Emma Holthouser François Chardavoine André Mazzone David Meny Rob Bredow Karen Lucknavalai George ElKoura Nick Porcino Bernard Kwok Ashwin Bhat Niklas Harrysson Krystian Ligenza Zap Andersson Eric Bourque Paul Edmondson David Larsson Guido Quaroni Mark Elendt Lee Kerley Mark Tucker Chris Kulla Adrien Herubel Larry Gritz
  • 28. © 2021 Autodesk, Inc. MaterialX Shader Generation Bernard Kwok and Ashwin Bhat bernard.kwok@autodesk.com ashwin.bhat@autodesk.com
  • 30. Shading Graph Configurability Consistent and robust compound and functional graph support Improved traversal logic for node and graph interface connections New: Nodegraph-to-nodegraph connections, Translation graph support. Improved namespace, version, target support Improved input value resolution to handle: inheritance, interface connections, geometry and filenames (incl. tokens) Improved ability to code generate for individual nodes, and sub-graphs. Compound / Functional Nodegraph version / namespace / target tagging Nodegraph / Nodegraph Connections Nodegraph / Nodegraph Connections Nodegraph / Nodegraph Connections Input Interfaces Output Interfaces glsl mdl osl essl
  • 31. Improved light injection and geometry stream bindings Improved uniform injection including layout support Improved reflection for resource binding and transparency heuristics Improved image format and texturing support Code Generation Configurability CodeGen Lighting Geometry Shading Reflection Uniform Injection Light Injection Shader Injection Transparency Images R2-D2 © & ™ Lucasfilm LTD. Used with permission R2-D2 © & ™ Lucasfilm LTD. Used with permission
  • 32. Rendering validation (Intel OpenSWR) MaterialX Web: WASM generation and Github pages hosting. Goal: support fully automated code generation / rendering validation Infrastructure Github Actions Migration Pages Remote Rendering
  • 34. Color Management Challenges: ACEScg color space naming consistency Code generation targets: GLSL, OSL, MDL, ESSL Deployment flexibility: pre-compute, function generation, full shader, reference definition OCIO enhancements for uniform injection / format control Definitions CodeGen Config Node Definition .glsl .osl .glsl .osl Injection Transform OCIO v2 Integration CodeGen .mdl
  • 35. SPIRV Code Generation Overview Use mx::GlslResourceBindingContext Generate SPIRV compatible GLSL. E.g., use #extension GL_ARB_shading_language_420pack Demonstrated feasibility of Cross Compilation during SIGGRAPH 2020 Autodesk Vision Series demo. Explore and improve KhronosGroup/SPIRV-Tools to provide per target Shader Reflection. .glsl CodeGen SPIRV-Cross Document Image credit: 3ds Max: Open Standards & Next Generation Viewport Framework (SIGGRAPH 2020 Autodesk Vision Series)
  • 36. MaterialX for Web In progress project for upcoming release. Components: JavaScript Bindings + Web Assembly. CodeGen for OpenGL ES 3.0. Web Viewer Sample Application https://autodesk-forks.github.io/MaterialX/ Fully compatible with current GLSL implementation. Supported Browsers Chrome, Firefox, Edge, Safari* Supports material shading graphs and pattern graphs (textures, procedurals) Framework agnostic. MaterialX JavaScript library Above: Examples from MaterialX distribution using Standard Surface in Google Chrome. Below: Example procedural material from Adobe Substance as MaterialX in Google Chrome.
  • 37. MaterialX for Web Deployment options (framework agnostic) Three.js CodeGen Browser deployment using JavaScript Bindings Server based deployment using Native or WASM Material Definitions Babylon.js
  • 38. MaterialX WebGL (in Google Chrome) MaterialX API in JavaScript, using GL ES Shader Generator
  • 40. Forthcoming MDL 1.7 release will have better alignment with MaterialX (e.g., sheen layer, unbound mixer nodes) End of year target to have MaterialX import for Omniverse Background improvements in MDL generation and consumption (E.g., resource path handling) See SIGGRAPH 2021 updates from NVIDIA. NVIDIA MDL Updates CodeGen CodeGen
  • 41. Generation Configurability void NG_ramp4_color3(color valuetl, color valuetr, color valuebl, color valuebr, vector2 texcoord, output color out) { vector2 N_txclamp_color3_low_tmp = vector2(0, 0); vector2 N_txclamp_color3_high_tmp = vector2(1, 1); vector2 N_txclamp_color3_out = clamp(texcoord, N_txclamp_color3_low_tmp, N_txclamp_color3_high_tmp); float N_t_color3_out = 0.0; NG_extract_vector2(N_txclamp_color3_out, 1, N_t_color3_out); float N_s_color3_out = 0.0; NG_extract_vector2(N_txclamp_color3_out, 0, N_s_color3_out); color N_mixbot_color3_out = mix(valuebl, valuebr, N_s_color3_out); color N_mixtop_color3_out = mix(valuetl, valuetr, N_s_color3_out); color N_mix_color3_out = mix(N_mixtop_color3_out, N_mixbot_color3_out, N_t_color3_out); out = N_mix_color3_out; } Fragment Uniform Format / Reflection Bake Export Fragment / Function Export vs new generator derivation Uniform format control / reflection Sub-graph / node export as graphs or images
  • 42. Performance optimizations for language / platform / workflow Optimize at code, node, and/or definition level Repackaging of resources: baking, packing, access atlas / arrays (e.g. UDIMs), alternate formats (e.g. IBL cubemaps) Generation Optimization void NG_ramp4_color3_slow(color valuetl, color valuetr, color valuebl, color valuebr, vector2 texcoord, output color out) { vector2 N_txclamp_color3_low_tmp = vector2(0, 0); vector2 N_txclamp_color3_high_tmp = vector2(1, 1); vector2 N_txclamp_color3_out = clamp(texcoord, N_txclamp_color3_low_tmp, N_txclamp_color3_high_tmp); float N_t_color3_out = 0.0; NG_extract_vector2(N_txclamp_color3_out, 1, N_t_color3_out); float N_s_color3_out = 0.0; NG_extract_vector2(N_txclamp_color3_out, 0, N_s_color3_out); color N_mixbot_color3_out = mix(valuebl, valuebr, N_s_color3_out); color N_mixtop_color3_out = mix(valuetl, valuetr, N_s_color3_out); color N_mix_color3_out = mix(N_mixtop_color3_out, N_mixbot_color3_out, N_t_color3_out); out = N_mix_color3_out; } void NG_ramp4_color3_fast(color valuetl, color valuetr, color valuebl, color valuebr, vector2 texcoord, output color out) { out = fast_code; } Optimize Reparametrize Optimize Format / Pack R2-D2 © & ™ Lucasfilm LTD. Used with permission
  • 43. • Publishing for reuse, produce reference libraries (e.g. OSL reference library) • Realtime Updates: • Observability • Change management • Diagnostics / Feedback Generation Deployment Node Definition Reference Definition Library Publish void NG_ramp4_color3_fast(color valuetl, color valuetr, color valuebl, color valuebr, vector2 texcoord, output color out) { vector2 N_txclamp_color3_low_tmp = vector2(0, 0); vector2 N_txclamp_color3_high_tmp = vector2(1, 1); vector2 N_txclamp_color3_out = clamp(texcoord, N_txclamp_color3_low_tmp, color N_mixtop_color3_out = mix(valuetl, valuetr, N_s_color3_out); color N_mix_color3_out = mix(N_mixtop_color3_out, N_mixbot_color3_out, N_t_color3_out); out = N_mix_color3_out; } Change Management Observation Diagnostics
  • 44. Credits Adam Felt Aura Munoz Brent Scannell Cedrick Muenstermann David Larsson Doug Smythe Doug Walker Dusan Kovic Eric Bourque Fedor Nikolayev Gareth Morgan Guillaume Laforge Harv Saund Henrik Edstrom Jan Jordan Jerran Schmidt Jerry Gamache Jonathan Stone Kai Rohmer Kevin Zhang Krishna Kalvai Krishnan Chunangad Ramachandran Krystian Ligenza Lutz Kettner Mauricio Vives Nicolas Savva Niklas Harrysson Nikola Milosevic Patrick Hodoul Philippe Frericks Phenix Xu Rishabh Bisht Roberto Ziche Sankar Ganesh Sebastian Dunkel Toni Qin Wayne Catalfano Will Telford Zap Andersson
  • 45. Autodesk and the Autodesk logo are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries. All other brand names, product names, or trademarks belong to their respective holders. Autodesk reserves the right to alter product and services offerings, and specifications and pricing at any time without notice, and is not responsible for typographical or graphical errors that may appear in this document. © 2021 Autodesk. All rights reserved.
  • 46. © 2021 Autodesk, Inc. MaterialX in MayaUSD and ArnoldUSD Krystian Ligenza Software Architect | krystian.ligenza@autodesk.com
  • 47. Safe Harbor Statement During the course of this presentation, we may make statements regarding future events and/or statements regarding planned or future development efforts for our existing or new products and services. We wish to caution you that such statements reflect our current expectations, estimates and assumptions based on factors currently known to us and that actual events or results could differ materially. Also, these statements are not intended to be a promise or guarantee of future delivery of products, services or features but merely reflect our current plans, which may change. Purchasing decisions should not be made based upon reliance on these statements. The statements made in this presentation are being made as of the time and date of its live presentation. We do not assume any obligation to update any statements we make to reflect events that occur or circumstances that exist after the date of this presentation.
  • 49. MayaUSD | Repository Closed pull requests: 1086 Closed issues: 266 (customer reported) Stars: 422 Forks: 124 Releases: 11 Total downloads: 13 877
  • 50. MayaUSD | Workflows Import/Export Direct Editing Visualization R2-D2 © & ™ Lucasfilm LTD. Used with permission
  • 51. MayaUSD | Interop via UsdShade + PreviewSurface Blinn Phong Standard Surface Lambert Preview Surface Blinn Phong Standard Surface Lambert Preview Surface Export Import Asset source: https://developer.apple.com/augmented-reality/quick-look/ Preview Surface Custom translation with plugin architecture
  • 53. MaterialX | Phase1 Workflows Import/Export Visualization R2-D2 © & ™ Lucasfilm LTD. Used with permission
  • 54. MaterialX | Interop via UsdShade + MaterialX Standard Surface Preview Surface Standard surface Preview surface Standard Surface Preview Surface Export Import Asset source: https://github.com/KhronosGroup/glTF-Sample-Models
  • 55. MaterialX | Visualization in Maya's Viewport We are using the hdMtlx translation framework, which is also in use for hdStorm and hdPrman, and using the same GLSL code generator as hdStorm.
  • 56. MaterialX | Visualization in Maya's Viewport Problem: USD refers to texture coordinates by name, but MaterialX defaults to index Solution: Modify MaterialX GLSL codegen for geompropvalue to emit varying inputs Modify MaterialX document in-flight to remap indexed UV streams to USD named streams
  • 57. MaterialX | Visualization in Maya's Viewport Problem: MaterialX did not interact with Maya’s scene lights Solution: Modify the Maya light code generator to provide GLSL entry points to query Maya light information directly from MaterialX light loop BB-8 and R2-D2 © & ™ Lucasfilm LTD. Used with permission
  • 58. MaterialX | Visualization in Maya's Viewport Problem: A single instance of a standard surface material can take seconds, and each material generated its own shader Solution: Computing the minimal topologically equivalent Hydra material
  • 59. Opportunities & References Opportunities / future investigations § Render context § More material translators § Direct material binding and graph & parameters authoring § Color Management § ArnoldUSD Useful links: § https://github.com/Autodesk/maya- usd/blob/dev/doc/MaterialX.md § https://github.com/autodesk- forks/MaterialX/tree/adsk_contrib/dev/sour ce/MaterialXGenOgsXml#superior- environmental-lighting § https://github.com/autodesk- forks/MaterialX § https://github.com/Autodesk/maya-usd/ § https://github.com/Autodesk/maya- usd/discussions
  • 61. Sneak-peek: MaterialX in ArnoldUSD BB-8 and R2-D2 © & ™ Lucasfilm LTD. Used with permission
  • 62. Credits Adam Felt Ashwin Bhat Aura Munoz Brent Scannell Bernard Kwok Cedrick Muenstermann David Larsson Doug Smythe Doug Walker Dusan Kovic Eric Bourque Fedor Nikolayev Gareth Morgan Guillaume Laforge Harv Saund Henrik Edstrom Jan Jordan Jerran Schmidt Jerry Gamache Jonathan Stone Kai Rohmer Kevin Zhang Krishna Kalvai Krishnan Chunangad Ramachandran Krystian Ligenza Lutz Kettner Mauricio Vives Nicolas Savva Niklas Harrysson Nikola Milosevic Patrick Hodoul Pal Mezei Philippe Frericks Phenix Xu Rishabh Bisht Roberto Ziche Sankar Ganesh Sebastian Dunkel Toni Qin Wayne Catalfano Will Telford Zap Andersson
  • 63. Autodesk and the Autodesk logo are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries. All other brand names, product names, or trademarks belong to their respective holders. Autodesk reserves the right to alter product and services offerings, and specifications and pricing at any time without notice, and is not responsible for typographical or graphical errors that may appear in this document. © 2021 Autodesk. All rights reserved.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71. MaterialX and the Adobe Standard Material Model Paul Edmondson Senior Graphics Engineer, Adobe
  • 72. Adobe and 3D • Adobe has a long history of forays into 3D • Photoshop, After Effects, Dimension(s), Aero • Allegorithmic and Medium teams joined Adobe in 2019 • Substance 3D Collection released in 2021: • Designer • Painter • Sampler • Stager • Modeler (beta)
  • 73. The Adobe Standard Material • A common, unified basis for material interchange between tools • Not a shader to end all shaders, but a model for data-driven look alignment • Goals: • Support for use by raster-based and traced renderers • Backward compatibility with materials in existing tools • Maximal interoperability between apps for most materials • Emphasis on art-directability and ease of use where possible • Not bound to any single language or file format • Don’t reinvent the wheel
  • 74. Version 4 Features • Expanded metal/roughness PBR model • Native material model for Substance 3D Stager via MDL and SBSAR • Compatibility with Substance 3D Assets, Painter, and Designer • Technical specification to be posted in coming weeks • Translatable with minimal loss to/from Disney PBR, glTF, USD Preview Surface, Autodesk Standard Surface, etc. for supported features
  • 75. Why we didn’t use ___________ • The Adobe Standard Material (ASM) model is not meant to supplant all other material models • The Substance 3D tools continue to support many alternate models • We needed something that could represent the intersection of our toolsets with minimal loss of information • We also wanted to support interchange with external DCC tools
  • 76. • Eventual support of MaterialX was always planned for • Only prototype stage at present, but with eye toward future • Relatively easy to get reasonable results with standard PBR nodes • Some BxDFs will require customization down the line for full visual fidelity MaterialX Prototype
  • 79. Next Steps • Finish prototype with standard node support of all properties • Translation support to other common models like Standard Surface • Support of additional targets • Share! Project Collaborators: • David Larsson (dlarsson@adobe.com) • Andréa Machizaud (machizau@adobe.com) • Paul Edmondson (paule@adobe.com)