mirror of
https://github.com/muskit/H3VR-TNH-Quality-of-Life-Improvements.git
synced 2026-06-02 20:24:26 -07:00
73 lines
1.9 KiB
HLSL
73 lines
1.9 KiB
HLSL
// Alloy Physical Shader Framework
|
|
// Copyright 2013-2017 RUST LLC.
|
|
// http://www.alloy.rustltd.com/
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
/// @file Rim2.cginc
|
|
/// @brief Secondary rim lighting effects.
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef ALLOY_SHADERS_FEATURE_RIM2_CGINC
|
|
#define ALLOY_SHADERS_FEATURE_RIM2_CGINC
|
|
|
|
#if !defined(A_RIM2_ON) && defined(_RIM2_ON)
|
|
#define A_RIM2_ON
|
|
#endif
|
|
|
|
#ifdef A_RIM2_ON
|
|
#ifndef A_NORMAL_WORLD_ON
|
|
#define A_NORMAL_WORLD_ON
|
|
#endif
|
|
|
|
#ifndef A_VIEW_DIR_WORLD_ON
|
|
#define A_VIEW_DIR_WORLD_ON
|
|
#endif
|
|
|
|
#ifndef A_EMISSIVE_COLOR_ON
|
|
#define A_EMISSIVE_COLOR_ON
|
|
#endif
|
|
#endif
|
|
|
|
#include "Assets/Alloy/Shaders/Framework/Feature.cginc"
|
|
|
|
#ifdef A_RIM2_ON
|
|
/// Secondary rim lighting tint color.
|
|
/// Expects a linear HDR color.
|
|
half3 _Rim2Color;
|
|
|
|
#ifndef A_RIM2_EFFECTS_MAP_OFF
|
|
/// Secondary rim effect texture.
|
|
/// Expects an RGB map with sRGB sampling.
|
|
A_SAMPLER_2D(_RimTex2);
|
|
#endif
|
|
|
|
/// The weight of the secondary rim lighting effect.
|
|
/// Expects linear space value in the range [0,1].
|
|
half _Rim2Weight;
|
|
|
|
/// Fills in the center of the secondary rim lighting effect.
|
|
/// Expects linear-space values in the range [0,1].
|
|
half _Rim2Bias;
|
|
|
|
/// Controls the falloff of the secondary rim lighting effect.
|
|
/// Expects values in the range [0.01,n].
|
|
half _Rim2Power;
|
|
#endif
|
|
|
|
void aRim2(
|
|
inout ASurface s)
|
|
{
|
|
#ifdef A_RIM2_ON
|
|
half3 rim = _Rim2Color;
|
|
|
|
#ifndef A_RIM2_EFFECTS_MAP_OFF
|
|
float2 rimUv2 = A_TEX_TRANSFORM_UV_SCROLL(s, _RimTex2);
|
|
rim *= tex2D(_RimTex2, rimUv2).rgb;
|
|
#endif
|
|
|
|
s.emissiveColor += rim * aRimLight(_Rim2Weight * s.mask, _Rim2Bias, _Rim2Power, s.NdotV);
|
|
#endif
|
|
}
|
|
|
|
#endif // ALLOY_SHADERS_FEATURE_RIM2_CGINC
|