Version: 2021.3
ShaderLab legacy functionality
ShaderLab: legacy lighting

ShaderLab: legacy fog

Note: The ShaderLabUnity’s language for defining the structure of Shader objects. More info
See in Glossary
functionality on this page is legacy, and is documented for backwards compatibility only. If your shaderA program that runs on the GPU. More info
See in Glossary
source file includes HLSL code, Unity ignores these commands completely. If your shader source file does not include HLSL code, Unity compiles these commands into regular shader programs on import.

Render pipeline compatibility

Feature name Built-in Render PipelineA series of operations that take the contents of a Scene, and displays them on a screen. Unity lets you choose from pre-built render pipelines, or write your own. More info
See in Glossary
Universal Render Pipeline (URP) High Definition Render Pipeline (HDRP) Custom SRP
Legacy fog Yes No No No

Overview

Use the Fog command to enable or disable Unity’s built-in fog, in shaders that are written using legacy fixed-function style commands.

Configure the project settingsA broad collection of settings which allow you to configure how Physics, Audio, Networking, Graphics, Input and many other areas of your project behave. More info
See in Glossary
for the built-in fog effect using the RenderSettings class, or the Lighting window, and then use this command to enable or disable fog in a given Pass.

Fogging blends the color of the generated pixels down towards a given color, based on the distance from the cameraA component which creates an image of a particular viewpoint in your scene. The output is either drawn to the screen or captured as a texture. More info
See in Glossary
. Fogging does not modify a blended pixelThe smallest unit in a computer image. Pixel size depends on your screen resolution. Pixel lighting is calculated at every screen pixel. More info
See in Glossary
’s alpha value, only its RGB components.

Valid parameter values

Parameter Value Function
Mode Off Do not apply built-in fog to this Pass.
Global Apply built-in fog to this Pass, based on the project settings.

Note that if fog is disabled in the project settings, Unity will not apply it to this Pass.

Examples

This example code demonstrates the syntax for using this command in a Pass block.

Shader "Examples/FogExample"
{
    SubShader
    {
         // The rest of the code that defines the SubShader goes here.

        Pass
        {    
              Fog Off
            
              // The rest of the code that defines the Pass goes here.
        }
    }
}
ShaderLab legacy functionality
ShaderLab: legacy lighting