• English
  • 3DCoat Documentation
  • Chapters
    • Introduction to 3DCoat
    • Getting started
    • Interface
    • Brush Components
    • Workspaces Rooms
    • Scripting & Core API
    • Questions/Answers
    • licensing
    • Training Tutorials
  • Pilgway
  • Products
    • 3DCoat
    • 3DCoatTextura
    • 3DCoatPrint
    • PBRLibrary
  • Blog Posts
    • Creating 3D Character Using 3DCoat
  • Store
  • English English
    • Українська Українська
    • Español Español
    • Deutsch Deutsch
    • Français Français
    • 日本語 日本語
    • Русский Русский
    • 한국어 한국어
    • Polski Polski
    • 中文 (中国) 中文 (中国)
    • Português Português
    • Italiano Italiano
    • Suomi Suomi
    • Svenska Svenska
    • 中文 (台灣) 中文 (台灣)
    • Dansk Dansk
    • Slovenčina Slovenčina
    • Türkçe Türkçe
    • Nederlands Nederlands
    • Magyar Magyar
    • ไทย ไทย
    • हिन्दी हिन्दी
    • Ελληνικά Ελληνικά
    • Tiếng Việt Tiếng Việt
    • Lietuviškai Lietuviškai
    • Latviešu valoda Latviešu valoda
    • Eesti Eesti
    • Čeština Čeština
    • Română Română
    • Norsk Bokmål Norsk Bokmål
  • 3DCoat Documentation
  • Chapters
    • Introduction to 3DCoat
    • Getting started
    • Interface
    • Brush Components
    • Workspaces Rooms
    • Scripting & Core API
    • Questions/Answers
    • licensing
    • Training Tutorials
  • Pilgway
  • Products
    • 3DCoat
    • 3DCoatTextura
    • 3DCoatPrint
    • PBRLibrary
  • Blog Posts
    • Creating 3D Character Using 3DCoat
  • Store
  • English English
    • Українська Українська
    • Español Español
    • Deutsch Deutsch
    • Français Français
    • 日本語 日本語
    • Русский Русский
    • 한국어 한국어
    • Polski Polski
    • 中文 (中国) 中文 (中国)
    • Português Português
    • Italiano Italiano
    • Suomi Suomi
    • Svenska Svenska
    • 中文 (台灣) 中文 (台灣)
    • Dansk Dansk
    • Slovenčina Slovenčina
    • Türkçe Türkçe
    • Nederlands Nederlands
    • Magyar Magyar
    • ไทย ไทย
    • हिन्दी हिन्दी
    • Ελληνικά Ελληνικά
    • Tiếng Việt Tiếng Việt
    • Lietuviškai Lietuviškai
    • Latviešu valoda Latviešu valoda
    • Eesti Eesti
    • Čeština Čeština
    • Română Română
    • Norsk Bokmål Norsk Bokmål
Expand All Collapse All
  • Introduction to 3DCoat
  • Getting started
    • System requirements
    • Why 3DCoat is Unique?
    • Activating 3DCoat
    • Startup error
      • Startup error Mac
    • Color management
    • Upgrading permanent license
    • Linux Setup
      • Linux initial setup per-user installation
      • Linux initial setup for system
      • Tablet setup
      • To GTK3 from GTK2
      • Error libicuuc.so.70
    • Folders Structure
      • Custom documents folder
    • Different Forms of “Resolution”
    • Tablet on Window
    • Import and Export
    • Applinks in 3DCoat specifications
      • Blender 4.1 applink
        • Blender with the Applink in Linux
      • Blender 4.2/3/4/5 applink
      • Max Applink
      • Houdini applink
      • Lightwave uplink
  • Navigation
    • Quick Start Menu
    • Navigation Panel
    • Camera and Navigation
      • Customize Navigation as Blender
    • Viewport Navigation Gizmo
    • Left tool panel
    •  Activity Bar
    • Navigation using 3DConnexion devices
      • How to compile Spacenavd on non Ubuntu distro
    • Space Bar Menu
    • Stylus doesn't work in sculpting
    • Hotkeys
  • Interface
    • File
    • Edit
      • Calculate Curvature
      • Calculate Occlusion
      • Light Baking Tool
      • Preferences
    • View
    • Symmetry
    • Textures
    • Calculate
    • Layers
    • Freeze
    • Hide
    • Bake
    • Curves
      • Curves editor
      • Curves Properties RMB
      • Fill with mesh layer
      • Scale of imported curves
    • Windows
      • Tabbed and Popup Panels
      • Controls
    • Scripts
    • Addons
    • Capture
    • Help
    • Room Customization
    • Modify or Create new Room
  • Brush Components
    • Brush Top Bar
    • Brushes general use
      • Create alpha brushes and decals
      • Making alpha from current sculpt
      • Create a Brush from a 3D Object
      • Create brushes based on Curves
      • Load photoshop .abr brushes
    • Strokes
      • Curves Popup Menu
    • Brush Options panel
    • Conditions (Height/Color) Limiter
    • Strips Panel
    • Stencils Panel
    • Smart Materials
      • Add new images or materials
      • Attach a Smart material to a layer
      • Import Quixel Megascans
    • Presets for Brush alphas
  • Workspaces Rooms
    • Paint
      • Painting Modes
        • Per Pixel Painting
        • Displacement Painting (Micro-Vertex)
        • Ptex Painting
        • Surface Painting (Vertex painting)
      • Importing Into the Painting Room
        • Initial CC subdivision
        • UV Set smoothing
        • Sharp (hard) edge
        • Lock Normals
        • Load new UV layout After Model Changes
        • DAZ Genesis models into 3DCoat
        • ID map
      • Paint Menus
        • Edit menu
        • Textures Menu
          • Texture Baking Tools
        • Hide
        • Bake Paint menu
        • The Color Picker
      • Surface Materials
      • Top Bar for the Painting
      • The Layers Panel
        • The Blending Panel
        • Layer and Clipping Masks
      • Left Tool Panel
      • Opacity & Transparency
      • Tweak tools
        • Tweak Toolset
        • Exporting from the Tweak Room
      • Stencil & Material preview panel
      • Exporting from the Painting Room
    • UV
      • UV Top Bar
      • UV Left tool panel
      • UV Preview Panel
      • UV workflow example
      • Importing Into the UV Room
      • Exporting from the UV Room
    • Retopology
      • Importing into Retopo Room
      • Retopo Mesh Menu
        • Virtual Mirror Mode
      • Bake menu
        • Treat Poly Groups as Paint Objects
        • Baking guide
      • Strokes tool in Retopology
      • Top Bar
        • Select geometry
      • Left tool panel
        • Overall Purpose & Function
        • Add Geometry in the retopology room
        • Tweak Tools
        • UV Tools
        • Commands for Retopology room
      • AUTORETOPO
        • Autopo guide
      • Poly Groups
    • Sculpt
      • Sculpt Layer
      • Sculpt Tree
      • Sculpt Brush options
      • Top Bar
      • Brush engine
      • Geometry menu
      • Right-Click Menu
      • Shader
      • Voxel mode
        • Pure Voxel Sculpting
        • Density and Resolution
        • Clay Engine
        • Voxel Tools
        • Surface tools on Voxels
        • Voxel Adjustment Tools
        • Volumetric Painting
        • Voxel Objects Tools
      • Surface mode
        • Surface tools
        • Surface custom tools
        • Surface Layer
        • Surface adjust tools
        • Surface Painting
        • Surface Objects Tools
        • Multi Level Resolution
          • Multires tools
          • Multires adjust
          • Multires commands
      • Sculpt curves
        • Spline Curves
        • Splines model creation
      • Vector Displacement
      • Transform tools
        • Transform
        • Instancer
        • Move
        • Pose
        • Fit
        • Reproject
        • Surface Array
      • Primitives
      • Live Booleans
      • Commands for Sculpt room
      • Import to Sculpt Room
      • Exporting from the Sculpt Room
    • Render
      • Comparison of different roughness values
      • Render Panel Functions
      • Turntable
      • Fakebake the lighting -non PBR-
    • Factures
      • Workflow
    • Simplest
    • Modeling
      • Mesh Menu
      • Left tool panel
        • Add Geometry
          • Selected
        • Tweak
        • Smart Hybrid
        • UV modpanel
          • UV: Selected and Commands
        • Entire Mesh
      • Loft surface example by Fluffy
      • Blockout by Poeboi
      • Import Zbrush Polygroups for UV mapping
    • Kitbash
      • Create kitbash
      • Left tool panel Kitbash
    • 3DPrint
    • Photogrammetry
      • How to install Reality Capture
      • Reality Capture doesn't show up ?
    • Nurbs
    • Nodes
      • Shader Nodes Library
      • Open PBR
  • Scripting & Core API
    • Scripting
    • Core API
    • Python API
    • Extensions and Addons
  • Free 3DCoatPrint

Open PBR

35 views 0

Written by Carlos
May 1, 2026

OpenPBR is an open-source, standardized “uber-shader” specification developed by Adobe and Autodesk, designed to provide a unified physically-based rendering (PBR) material model across different DCC (Digital Content Creation) tools and renderers.

Overview


Designed as an über-shader, it aims to be capable of accurately modeling the vast majority of CG Materials used in practical visual effects and feature animation productions.
It is heavily based on MaterialX, acting as a high-fidelity shading model intended to merge the capabilities of Autodesk Standard Surface and Adobe Standard Material.

It is hosted by the Academy Software Foundation (ASWF) and organized as a subproject of MaterialX.
More information about the history and design can be found on this page detailing the OpenPBR Surface specification.

Key Components & Libraries

  • OpenPBR Surface (Core Specification): The fundamental model, defining parameters for surface layering such as base, coat, thin film, and fuzz.
  • MaterialX Implementation: OpenPBR is primarily defined and used via MaterialX node definitions (.mtlx), allowing for consistent appearance between Arnold, USD, and real-time engines.
  • NVIDIA SimReady Materials: The PhysicalAI-SimReady-Materials GitHub repository contains USD/MaterialX-based materials utilizing OpenPBR v1.1.
  • OpenPBR Shader Playground: A GitHub project by DigitalProductionExampleLibrary containing MaterialX files and USD examples demonstrating the shader’s capabilities.
  • Reference BSDF: A reference implementation for the OpenPBR BSDF (Bidirectional Scattering Distribution Function) exists on GitHub for developers

Key Features of OpenPBR Nodes

  • Layering System: Uses a “slab” model (base, coat, fuzz, emission).
  • Fuzz Layer: Replaces traditional sheen to represent microfiber reflections.
  • Advanced Thin Film: Offers micrometer-based thickness for better iridescent effects.
  • Metalness: Uses Specular Weight to control metal reflectivity.
  • Uniformity: It is designed to be cross-platform, making it ideal for USD-based workflows

The OpenPBR material is made up of several layers.

  • Base: The base layer sits at the bottom and can be configured to simulate many material types. It can represent a dielectric or metallic material and is responsible for the primary reflection layer. This is controlled by the Metalness parameter found in the Base parameters group. Normally materials are either fully metallic (Metalness 1) or fully dielectric (Metalness 0) but the OpenPBR material also supports a mixture when Metalness values fall between 0 and 1.
    • Metallic: When Metalness is used, reflections take on the Base Color and the Specular Color controls the color seen at glancing angles. Primary parameter groups are Base and Specular.
    • Dielectric: When a material is non-metallic it can be set up to represent the three main conditions covered below, but blending between them is possible by adjusting their relevant weights.
      • Glossy-diffuse: An opaque dielectric material that’s good for many common materials that don’t exhibit significant light scattering or transmission like wood and stone. Primary parameter groups are Base and Specular.
      • Subsurface: An opaque dielectric material that heavily scatters light internally like skin, plastic, marble, and wax. Primary parameter groups are Base, Specular, and Subsurface.
      • Translucent: A dielectric material that transmits and refracts a significant amount of light and one that is more transparent than a subsurface material. Primary parameter groups are Base, Specular, and Transmission.
  • Thin-Film: A very thin dielectric layer, measured in micrometers, between the base and coat layer used to represent the colorful effects as seen with soap bubbles, insects, and oil mixing with water.
  • Emission: A light emitting layer that sits above the base layer but below the coat and fuzz layers. The emissive layer is tinted by the coat and fuzz, making it easy to represent emissive surfaces like a TV screen — using the coat for the reflective glass and the fuzz for dust on top.
  • Coat: An optional dielectric layer that adds a secondary reflection layer over the base layer, great for clear coats and varnish.
  • Fuzz: An optional layer that sits on top of everything that can be used to simulate dust or the velvety sheen of cloth.

The main difference between the V-Ray material model and OpenPBR is the layers’ structure. See the diagram for information on how OpenPBR’s layers are calculated.

Schematic illustration of the idealized physical material that our shader models. Horizontal stacking of slabs represents statistical mixture and vertical stacking represents layering.

Unlike previous models such as Autodesk Standard Surface, ASWF define the model by describing the physical structure as unambiguously as possible, rather than by specifying a particular form of implementation.
At the level of computer graphics, the model is completely physically specified if the BSDF (Bidirectional Scattering Distribution Function) of each slab interface, and the volumetric properties of each slab ,edium, are specified.
The ground truth appearance of the model is then defined to be given by the BSDF obtained by physical light transport through the whole structure of component slabs.

Tutorials


Unlock Seamless Material Interchange for Virtual Worlds with OpenUSD, MaterialX, and OpenPBR: NVIDIA, and the Alliance for OpenUSD (AOUSD) announced the AOUSD Materials Working Group, an initiative for standardizing the interchange of materials in Universal Scene Description, known as OpenUSD.

Was this helpful?

Yes  No
Related Articles
  • Extensions and Addons
  • Surface Layer
  • Error libicuuc.so.70
  • Space Bar Menu
  • Surface Materials
  • Factures
Previously
Shader Nodes Library
Up Next
Scripting & Core API
AI:
Hi! How can I help you?
Attention: This is a beta version of AI chat. Some answers may be wrong. See full version of AI chat