Realistic Glass Shader

by Colin Behrens in Materials, Shaders, Textures

Realistic Glass - by Colin Behrens & Gleb Alexandrov


Short Explaination of the shader:

    

    The caustics are faked but who cares as long as the result looks good

            --> You can turn off the real caustics under render settings --> Light Paths.

                This will save some render time and prevent fireflies.

        

The different Inputs for the Node Group are explained below:

    

    Color:

        You can change the color and it will even effect the caustics and the dispersion

    Roughness:

        The roughness effects the roughness of the glass and the caustic brightness

    IOR (Index Of Refraction):

        How strong the light is scattered as it passes the glass

    Dispersion Amount:

        You can have more or less dispersion.

        0 dispersion equals the standard glass but with caustics (to speed up rendering)

        The higher the value the higher the wider the spectrum.

    Caustic Amount:

        Higher Value --> More caustics

    Caustic Pattern Details:

        You can get different Caustic Patterns by changing this value.

    Pattern Noise Scale:

        For some more variations you can substract a Noise Texture from your caustics.

        This input determines the scale of the Noise Texture.

    Noise Strength:

        How much the Noise Texture influences the caustics.

        0 = no influence / 1 = 100% subtracted from the caustics.

    Noise Pattern Shift:

        For some other new Noise patterns change this value (like a seed value).

    Caustic Tint:

        Leave this input on blank white for automatic caustic colors.

        Every other color will overwrite the automatically generated caustics and you can choose the caustic color manually.

    Caustics Dispersion Saturation:

        To increase the colors in the caustics increase the value, 0 value means just black and white caustics.

    Caustic Contrast:

        Increases the contrast of the caustics. Higher values for more defined Caustics

    Volume Scatter Color:

        Choose the color which should be scattered.

    Volume Scatter Density:

        0 = no effect. Increase the value to have light scattered.

    Volume Scatter Anisotropy:

        The direction in which the light is scattered.

    Volume Absorbtion Color:

        Choose the color which should be absorbed.

    Volume Absorbtion Strength:

        0 = no effect. The higher the value the more light will be absorbed.

    Raylength Absorbtion Color:

        For non volumetric absorbtion use this feature. It will increase the render speed compared to volumetrics.

        Choose the color for the absorbtion here.

    Raylength Absorbtion Strength:

        0 = no effect. The higher the value the more light will be absorbed.

    Raylength Absorbtion Falloff:

        This value determines how much the thickness effects the absorbtion.

    Cracks Scale:

        This is a beta feature. Works depending on your object and sometimes causes weird Dispersion.

        Increasing this value will largen your Cracks.

    Cracks Strength:

        This slider lets you change the opacity of your cracks.

    Normal:

        Input normal maps here.

            

Outputs:

    Priority: Quality:

        This output uses a more accurate setup to render dispersion but you will need more samples to get a clean render.

    Priority: Render Speed:

        This output uses a technique by Gleb Alexandrov where dispersion is achieved by bending normals.

        You will need less samples but the results somtimes are not that realistics as with the quality output.

    Caustics only:

        For a faster caustics viewport to adjust Settings select the "Caustics only" output instead of the Shader output

    Volume:

        Make sure you plugged this ouput into the right Material Output, otherwise the volume features will not work.

    Displacement:

        This output is important if you use the Cracks feature, otherwise they will look flat.

        

        

This Shader is by Colin Behrens & Gleb Alexandrov

Gleb helped a lot to find bugs, improving the perfomance and adding new features.

Check out his awesome YouTube Channel to learn more about Blender, Game Development and so on!

    https://www.youtube.com/user/GlebAlexandrov