Unity Web Shader IDE
Full source <CORE>/ShaderLibrary/ScreenCoordOverride.hlsl HLSL 26 lines 13 symbols 0 includes Hide source Show source
ScreenCoordOverride.hlsl <CORE>/ShaderLibrary/ScreenCoordOverride.hlsl
Language
HLSL
Lines
26
Symbols
13
Includes
0
Open IDE root

<CORE>/ShaderLibrary/ScreenCoordOverride.hlsl full source

#ifndef UNITY_SCREEN_COORD_OVERRIDE_INCLUDED
#define UNITY_SCREEN_COORD_OVERRIDE_INCLUDED

float2 ScreenCoordApplyScaleBias(float2 xy, float4 screenCoordScaleBias)
{
    return screenCoordScaleBias.zw + xy * screenCoordScaleBias.xy;
}

float2 ScreenCoordRemoveScaleBias(float2 xy, float4 screenCoordScaleBias)
{
    return (xy - screenCoordScaleBias.zw) / screenCoordScaleBias.xy;
}

// Note that SCREEN_SIZE_OVERRIDE will be redefined in HDRP to use _PostProcessScreenSize.
#if defined(SCREEN_COORD_OVERRIDE)
    #define SCREEN_COORD_APPLY_SCALEBIAS(xy)          ScreenCoordApplyScaleBias(xy, _ScreenCoordScaleBias)
    #define SCREEN_COORD_REMOVE_SCALEBIAS(xy)         ScreenCoordRemoveScaleBias(xy, _ScreenCoordScaleBias)
    #define SCREEN_SIZE_OVERRIDE                     _ScreenSizeOverride
#else
    #define SCREEN_COORD_APPLY_SCALEBIAS(xy)          xy
    #define SCREEN_COORD_REMOVE_SCALEBIAS(xy)         xy
    #define SCREEN_SIZE_OVERRIDE                     _ScreenSize
#endif

#endif // UNITY_SCREEN_COORD_OVERRIDE_INCLUDED