mirror of
https://github.com/muskit/H3VR-TNH-Quality-of-Life-Improvements.git
synced 2026-06-02 20:24:26 -07:00
45 lines
1.2 KiB
HLSL
45 lines
1.2 KiB
HLSL
// Alloy Physical Shader Framework
|
|
// Copyright 2013-2017 RUST LLC.
|
|
// http://www.alloy.rustltd.com/
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
/// @file Transmission.cginc
|
|
/// @brief Basic transmission, handling render path differences.
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef ALLOY_SHADERS_FEATURE_TRANSMISSION_CGINC
|
|
#define ALLOY_SHADERS_FEATURE_TRANSMISSION_CGINC
|
|
|
|
#ifdef A_TRANSMISSION_ON
|
|
#ifndef A_SUBSURFACE_ON
|
|
#define A_SUBSURFACE_ON
|
|
#endif
|
|
#endif
|
|
|
|
#include "Assets/Alloy/Shaders/Framework/Feature.cginc"
|
|
|
|
#ifdef A_TRANSMISSION_ON
|
|
/// Transmission tint color.
|
|
/// Expects a linear LDR color.
|
|
half3 _TransColor;
|
|
|
|
/// Transmission color * thickness texture.
|
|
/// Expects an RGB map with sRGB sampling.
|
|
sampler2D _TransTex;
|
|
|
|
/// Weight of the transmission effect.
|
|
/// Expects linear-space values in the range [0,1].
|
|
half _TransScale;
|
|
#endif
|
|
|
|
void aTransmission(
|
|
inout ASurface s)
|
|
{
|
|
#ifdef A_TRANSMISSION_ON
|
|
s.subsurfaceColor = A_SSC(s, _TransScale * tex2D(_TransTex, s.baseUv).rgb);
|
|
s.subsurfaceColor *= _TransColor;
|
|
#endif
|
|
}
|
|
|
|
#endif // ALLOY_SHADERS_FEATURE_TRANSMISSION_CGINC
|