This video introduces the lessons included in HDRI Shader Development for Mantra. It also covers prerequisites for following along.
Before we start creating our shader, we begin by taking a moment to explain HDRI, as well as a standard workflow for creating HDR images and what information they contain.
We now have an HDRI light source, but we need to know how to use it. This video covers how the light dome will be used to set up our lighting.
We now discuss the diffuse component of our shader and the theory behind how light will scatter across the surface of our object and how our shader will handle the calcuation.
We start off implementing our diffuse component by way of an Environment light, which emits light from either a sphere or hemisphere.
An Environment light has been added, but we do not yet have the degree of control that we need in order to manipulate individual components of our image.
With an understanding of the different passes that will be used to create our final image, we now begin by setting up our diffuse lighting pass.
This video introduces you to the concept of ambient occlusion and how this is implemented into our shader. Here, we look at the necessary calculations to implement this into our shader.
Diffuse and ambient occlusion are now in place. In this video, we combine them together and discuss ways in which the shadows can be improved.
Here we create a digital asset for our material, as well as establish some of the architecture required for our shader to handle render various render passes.
Previously, we had set up a switch VOP to switch between render passes. Here, we set up a more versitile and efficient system to handle rendering each pass.
To wrap up our diffuse pass, we need to set up our diffuse surface color, which allows us to control the look of the actual surface's color.
To begin the setup of our reflection passes, we start off with theory on how reflections work in the real world and how those can be mimicked with our HDRI setup.
With the overview complete, we now begin the implementation of the reflections pass by setting up a reflection for a perfectly smooth (mirrored) surface.
Our basic reflection is in place, so now we move on to improve the shader by implementing calculations for levels of reflection blurriness.
Reflection blur is now in place. We now add reflection surface color, which mimicks the effect of surfaces such as metal, in which reflected light's color is influenced.
The last part of our reflection pass setup is to add in reflection occlusion. This will allow our reflections to be occluded by other objects in our scene.
Here we establish a system that blends our diffuse and reflection components such that the result always adds up to 1.
We now start the setup of the reflection/diffuse balancing system by implementing a control for reflection amount.
Our reflection amount is established. Now, we implement Fresnel calculations as a separate piece of information to help influence the strength of our reflections.
With reflection amount and Fresnel calculations in place, we need to establish a calclution to control how our Fresnel will influence the amount.
This video covers the theory behind how displacement can be added into our surface shader, and how that will affect our overall network.
Now that we have taken a look at displacement from a theory standpoint, we now implement the basic displacement shader into our surface shader.
The shader is now complete. In this video, we take a look at actually using the shader in a practical rendering environment.