White paper describing the Autodesk Standard Surface shader.

Overview

Autodesk Standard Surface



A white paper specifying an uber surface shader that aims to provide a material representation capable of accurately modeling the vast majority of materials used in practical visual effects and feature animation productions. It follows the design of the Standard Surface shader in the Arnold renderer, whose implementation is relatively uncomplicated and whose user interface consists of a small set of parameters with intuitive meanings and ranges. The white paper is versioned and will be updated as the specification evolves.

Resources

Discussion


License: CC BY-SA 4.0

Comments
  • Swap default values of 'base' and 'base_color' parameters

    Swap default values of 'base' and 'base_color' parameters

    Currently, we have the defaults base = 0.8 and base_color = (1, 1, 1). There has been feedback that users find themselves to changing base to 1 after connecting base_color to a texture. This is such a common use case that it's better to swap the two defaults and avoid having to adjust base every time.

    opened by iliyang 1
  • Incorrect anisotropy rotation specification

    Incorrect anisotropy rotation specification

    The anisotropy rotation specification says :
    orientation of anisotropy; range [0,1] (where 1 means 180 degrees)

    Instead if should be : orientation of anisotropy; range [0,1] (where 1 means 360 degrees)

    The reference implementation implements the correct behavior.

    opened by AdrienHerubel 0
  • Unused sheen default value?

    Unused sheen default value?

    Hi! The spec describes a default value of 0.8 for the weight of the sheen BRDF: https://autodesk.github.io/standard-surface/#closures/sheen

    However, in the implementations, the value is actually set to 0.0: https://github.com/Autodesk/standard-surface/blob/b34e081e0fdced603eaa87b1c2841f99986fde2e/reference/standard_surface.mtlx#L51 https://github.com/Autodesk/standard-surface/blob/b34e081e0fdced603eaa87b1c2841f99986fde2e/reference/standard_surface.osl#L177

    Is this because the layer is optional and the input serves as both weight and toggle?

    opened by pablode 0
  • Improve wording on MaterialX implementation inputs

    Improve wording on MaterialX implementation inputs

    The MaterialX implementation defines inputs that claim to take the "geometric" normal and the "geometric" tangent - I believe that this is incorrect, and that the shading normal is meant.

    opened by pablode 0
  • ND_surface should have color opacity

    ND_surface should have color opacity

    Currently opacity is defined as a float in ND_surface. There are many use cases (stained glass) where it would be good to have opacity defined as a color3.

    There's even a documented work-around in standard_surface.mtlx to convert the incoming color to a scalar value. Full color opacity is needed to reproduce the standard surface faithfully.

        <!-- Surface construction with opacity -->                                   
        <!-- Node <surface> only supports monochromatic opacity so use the luminance of input opacity color -->
        <luminance name="opacity_luminance" type="color3">  
    

    It's easy to get a scalar value out of a color, it's not possible to get a color out of a scalar.

    opened by code-monkey 1
  • Thin film with Specular and Transmission

    Thin film with Specular and Transmission

    Hello,

    We have noticed an unexpected behavior about the thin film when using it with a specular and transmission. It seems that when the thin film is enabled the transmission is not handling the TIR anymore. Is this the expected behavior ?

    Here some images from Maya Arnold (MtoA 4.0.2 - 46d4a92e (master) - Feb 13 2020 03:01:44) that shows the issue :

    Here we can see that increasing the depth transmission change nothing when the thin film is enabled :

    New Project

    And if we are visualizing this LPE : CTT+TL which correspond to internal reflection we have the TIR for the case when there is no thin film for the depth 3 and 4 but there is nothing when the thin film is enabled.

    lpe

    Thanks,

    Kevin

    opened by ix-kcam 0
  • Fix OSL reference implementation

    Fix OSL reference implementation

    Either fix the OSL code or change aiStandard to match. Alternatively: clearly state that one or the other is not meant to be an implementation of this standard.

    See also #11.

    opened by virtualritz 1
Releases(v1.0.1.1)
Owner
Autodesk
Open-source projects by Autodesk
Autodesk
Shader Playground is a website for exploring shader compilers.

Shader Playground is a website for exploring shader compilers. Visit website Supported backends Compilers ANGLE Clspv DXC FXC Glslan

Tim Jones 445 Dec 30, 2022
Shader cross compiler to translate HLSL (Shader Model 4 and 5) to GLSL

XShaderCompiler ("Cross Shader Compiler") Features Cross compiles HLSL shader code (Shader Model 4 and 5) into GLSL Simple to integrate into other pro

Lukas Hermanns 345 Dec 9, 2022
A repair tool for Symbian Nokia phones affected by the infamous white screen of death.

WSODFix About Nokia mobile phones such as the N-Gage running early versions of the Symbian OS suffer from a very common problem widely known as the Wh

Michael Fitzmayer 25 Jan 3, 2023
2021 ICPC Seoul Regional White Whale team note

icpc-team-note 2021 ICPC Seoul Regional White Whale team note 커밋 규칙 반드시 algorithms 폴더 아래에 각자의 소스 파일 .cpp을 넣는다. 이름: 알고리즘 명칭 이렇게 하면 충돌이 없다! Fork / Branc

White Whale 7 Dec 17, 2022
Isotropic Remeshing of Triangulated Surface

Isotropic Remesher Isotropic Remeshing of Triangulated Surface Overview This repository implement the five steps of Isotropic Remeshing described in t

Jeremy HU 51 Dec 14, 2022
A proposition for a fully intergrated kext for all Surface Pro hardwares

BigSurface The name comes from macOS Big Sur. Big Sur + Surface -> Big Surface (LOL) PS:If you have a better name, please let me know. A proposition f

null 174 Dec 31, 2022
Contour mapping and 3D surface modeling app

QuikGrid v5.4 for 64-bit editions of MS Windows Contour mapping and 3D surface modeling app A 64-Bit Windows installer for QuikGrid can be found in th

Stephen Ferrell 8 Nov 18, 2022
A format converter for surface mesh intergrated with muli tools.

MeshConverter A format converter for surface mesh intergrated with small tools for fast surface mesh modification in CFD application scenarios. Build

yhf 4 Jul 22, 2022
Wayfire plugin for handling touchpad gestures globally in a layer-shell surface

wf-globalgestures Global touchpad gestures plugin for Wayfire: implements a special protocol (also in this repo) that lets clients request that a part

null 3 Oct 3, 2022
CAFLOOD 2D surface flow (flood) simulator with two-way coupling to other simulators

CAFLOOD FLUIDIT This is an improved version of the latest published open source version of University of Exeter's CAFLOOD cellular automata based 2D f

Fluidit LTD 1 Dec 23, 2021
Make Epsilon Great again - Project Mu UEFI Firmware for Surface Duo (First Generation) Devices

Project Mu UEFI Implementation for Surface Duo Build Quick notes for building: Use Ubuntu 20.04 x64 Generate ACPI tables with IASL Follow this quick d

WOA Project 99 Dec 22, 2022
Physically-based GPU and CPU ray-tracer emerging on a surface

etx-tracer Physically-based GPU and CPU ray-tracer emerging on a surface. Features Vertex Connection and Merging algorithm (CPU and GPU); Full-spectra

Serhii Rieznik 233 Dec 14, 2022
Proof-of-concept implementation for the paper "Osiris: Automated Discovery of Microarchitectural Side Channels" (USENIX Security'21)

Osiris This repository contains the implementation of the Osiris framework discussed in the research paper "Osiris: Automated Discovery of Microarchit

CISPA 41 Nov 11, 2022
Supplementary code for SIGGRAPH 2021 paper: Discovering Diverse Athletic Jumping Strategies

SIGGRAPH 2021: Discovering Diverse Athletic Jumping Strategies project page paper demo video Prerequisites Important Notes We suspect there are bugs i

null 54 Dec 6, 2022
The artifact associated with our ISSTA 2021 paper "Seed Selection for Successful Fuzzing"

Seed Selection for Successful Fuzzing The artifact associated with our ISSTA 2021 paper "Seed Selection for Successful Fuzzing". While our primary art

HexHive 34 Dec 7, 2022
DIY Zigbee CC2530 Motion sensor (AM312/ AM412/ BS312/ BS412), Temperature /Humidity /Pressure sensor (BME280), Ambient Light sensor (BH1750), 2.9inch e-Paper Module

How to join: If device in FN(factory new) state: Press and hold button (1) for 2-3 seconds, until device start flashing led Wait, in case of successfu

Sergey Koptyakov 5 Feb 13, 2022
Next gen. of NekoCal: An open-source hackable and programmable e-paper display

NekoInk NekoInk is an open-source, programmable, and versatile E-paper display platform. It offers connectivity options to various type of E-paper scr

Wenting Zhang 51 Nov 16, 2022
DIY Zigbee CC2530 Motion sensor (AM312/ AM412/ BS312/ BS412), Temperature /Humidity /Pressure sensor (BME280), Ambient Light sensor (BH1750), 2.9/2.13/1.54 inch e-Paper Module

How to join: If device in FN(factory new) state: Press and hold button (1) for 2-3 seconds, until device start flashing led Wait, in case of successfu

Sergey Koptyakov 33 Dec 9, 2022
A customizable hardware prefetching framework using online reinforcement learning as described in the MICRO 2021 paper by Bera and Kanellopoulos et al.

A Customizable Hardware Prefetching Framework Using Online Reinforcement Learning Table of Contents What is Pythia? About the Framework Prerequisites

SAFARI Research Group at ETH Zurich and Carnegie Mellon University 56 Jan 1, 2023