IOR :: INDEX OF REFRACTION - DIFFERENT MATERIALS HAVE DIFFERENT INDEXES OF REFRACTION. FOR EXAMPLE: - WATER IS 1.33 - DIAMOND IS 2.5 - ETC. • NOW, WHAT'S INTERESTING IS THAT THE HIGHER THE NUMBER, THE LESS FALLOFF THERE IS BETWEEN THE FRONT AND THE SIDE OF THE MODEL. • IOR, THOUGH, ALSO AFFECTS TRANSMISSION (OPACITY). THE LOWER THE NUMBER, THE LESS THE DISTORTION THROUGH THE SEE-THROUGH MATERIAL. Jacob Norris info@purepolygons.com Joel Bradley rustygames@gmail.com Omniverse is a suite of tools for you to use. Jan Jordan jjordan@nvidia.com Steffen Romer sromer@nvidia.com Francis Liu Richard Kerris rkerris@nvidia.com contact@ordinaryanimator.com Wes McDermott wesm@adobe.com users group nvidia.com/siggraph MATERIAL DEFINITION LANGUAGE edf emission MDL :: Emission Distribution Function https://www.youtube.com/watch?v=WuurB5bKaoo&t=7s List of Bidirectional Scattering Distribution Functions: Diffuse Reflection :: light scatters evenly in all directions Diffuse Transmission :: We can define the scattering of light :: frosted glass is a prime example Specular interactions (Pure Reflection / Reflection and Transmission) :: essentially mirror-like Glossy interactions :: blurred reflections EDF :: Emissive Distribution Functions VDF :: Volume Distribution Functions MDL Distribution Function Modifiers :: Tint | Thin Film | Directional Factor | Measured Curve Factor MDL Distribution Function Combiners :: Normalized Mix, Clamped Mix, Weighted Layer :: Fresnel Layer | Custom Curve Layer | Measured Curve Layer Creating more complex material via LAYERING: • scattering distribution function is a fresnel layer off a simple glossy BSDF • a diffuse BSDF is also one of the layers www.mdlhandbook.com www.nvidia.com/object/material-definition-language.html so let me get this straight , im just trying to simplfy what was taught in this tutorial . there are two ways of blending BRDF's together , one is a weighted layer which will basically copy the layer above another layer , and then there a fresnel layer which will actually pass light down to the layer below it . Using these two blending types together will produce interesting results because different materials have different ways of passing and blocking light through its volume , so in the case of a car paint layer , the flakes are overlaying the base paint layer , so ill need a weighted layer node . As for the clear coat layer , well its ... clear , so its passing light below to its other layers , so blending them with a fresnel layer will pass light below to the other layers , kind of like an overlay blending mode am i getting this right ? please correct me if im wrong You got it. :) The directional factor allows you to apply a tint a a fresnel angle. ////////////////////////////////// There are THREE major categories contained within an MDL material: 1. Light interaction at a boundary. 2. Light interaction within a boundary. 3. Geometry manipulation. //////////////////////////////////////////////////////////////////// Yes, you can achieve a similar effect using the MDL graph in Substance Designer. MDL is specifically designed for physically-based material creation and supports rendering techniques like Fresnel effects and opacity adjustments. Here's how you can implement this effect in an MDL graph: Steps for Using MDL in Substance Designer: Create an MDL Graph: Open Substance Designer, create a new MDL graph, and set it up for your material. Add a Fresnel Component: Use the "Fresnel" function in the MDL library. The Fresnel function outputs a factor based on the angle between the viewing direction and the surface normal, which is perfect for your directional-opacity effect. Control the Fresnel Effect: Use a "Lerp" (linear interpolation) or remap function to adjust how the Fresnel factor affects opacity. You can map the Fresnel output to control the transparency range. Set Up Opacity in the Material: MDL materials support opacity through their cutout_opacity or transparency parameters. Connect the adjusted Fresnel mask to one of these parameters: For smooth transitions, connect it to the transparency parameter. For binary transparency (cutouts), use the cutout_opacity parameter. Blend with Textures (Optional): If you want the Fresnel-based transparency to combine with other textures, blend the Fresnel output with a texture or a grayscale map before feeding it into the transparency parameter. ////////////////////////////////// mdl 1.6; import df::*; // Import distribution functions import math::*; // Import math utilities import state::*; // Import state utilities export material fresnel_transparency( color base_color = color(1.0, 1.0, 1.0), // Default color float roughness = 0.5, // Default roughness float ior = 1.5 // Index of refraction ) = let { // Calculate Fresnel effect float fresnel_value = fresnel(ior); // Remap Fresnel output for transparency float transparency = lerp(0.0, 1.0, fresnel_value); // Adjust as needed // Material surface definition material_surface surface = material_surface( base_color: base_color, roughness: roughness, transparency: transparency ); } in surface; ////////////////////////////////// mdl 1.5; import df::*; // Import distribution functions import math::*; // Import math utilities import state::*; // Import state utilities export material fresnel_transparency( color base_color = color(1.0, 1.0, 1.0), // Default base color float roughness = 0.5, // Surface roughness float ior = 1.5 // Index of refraction ) = let { // Compute Fresnel effect for the surface float fresnel_value = fresnel(ior); // Remap Fresnel output for desired transparency float transparency = lerp(0.0, 1.0, fresnel_value); // Adjust opacity range // Define a thin-walled material surface material_surface surface = material_surface( base_color: base_color, roughness: roughness, transparency: transparency, thin_walled: true // Enable thin-walled mode for transparent surfaces ); } in surface; ////////////////////////////////// In Substance Designer's MDL (Material Definition Language) shader, the transparency parameter is typically found in the following material nodes: Standard Material: This is the most common material node used in MDL. It includes a Transparency parameter to control the material's opacity. You can connect it to a texture or a constant value to control how transparent or opaque the material is. Clearcoat Material: This material model allows for an additional layer of reflection on top of the base material, and it includes a Clearcoat Transparency parameter. This can be used to control the transparency of the clearcoat layer. Glass Material: The Glass Material node, often used for simulating transparent materials like glass or water, has a built-in transparency parameter that helps define the material's level of transparency, as well as additional controls for refraction and reflection. Translucent Material: This material is used for simulating subsurface scattering and includes a Transparency parameter that governs the material’s opacity and its ability to transmit light. In most cases, you'll find that transparency is controlled via a parameter in these nodes, and it often works in conjunction with the Opacity Mask or Refraction to control how light interacts with the material. If you're specifically looking to implement transparency with a custom shader, you would typically use the Opacity or Transmission channels and adjust them based on your material’s behavior.