Initial commit

This commit is contained in:
msk
2022-01-22 20:13:49 -08:00
parent f9d23e5bcf
commit 687473573d
878 changed files with 70957 additions and 0 deletions
@@ -0,0 +1,67 @@
// Alloy Physical Shader Framework
// Copyright 2013-2017 RUST LLC.
// http://www.alloy.rustltd.com/
/////////////////////////////////////////////////////////////////////////////////
/// @file DirectionalBlend.cginc
/// @brief Allows blending based how much a normal faces a given direction.
/////////////////////////////////////////////////////////////////////////////////
#ifndef ALLOY_SHADERS_FEATURE_DIRECTIONAL_BLEND_CGINC
#define ALLOY_SHADERS_FEATURE_DIRECTIONAL_BLEND_CGINC
#ifdef A_DIRECTIONAL_BLEND_ON
#ifndef _DIRECTIONALBLENDMODE_WORLD
#ifdef A_DIRECTIONAL_BLEND_MODE_OFF
#define _DIRECTIONALBLENDMODE_WORLD
#else
#define A_WORLD_TO_OBJECT_ON
#endif
#endif
#ifndef A_NORMAL_WORLD_ON
#define A_NORMAL_WORLD_ON
#endif
#endif
#include "Assets/Alloy/Shaders/Framework/Feature.cginc"
#ifdef A_DIRECTIONAL_BLEND_ON
/// Direction around which the blending occurs.
/// Expects a normalized direction vector.
half3 _DirectionalBlendDirection;
/// Directional Blend weight.
/// Expects values in the range [0,1].
half _OrientedScale;
/// Hemispherical cutoff where blend begins.
/// Expects values in the range [0,1].
half _OrientedCutoff;
/// Offset from cutoff where smooth blending occurs.
/// Expects values in the range [0.0001,1].
half _OrientedBlend;
/// Controls how much the vertex color alpha influences the cutoff.
/// Expects values in the range [0,1].
half _DirectionalBlendAlphaVertexTint;
#endif
void aDirectionalBlend(
inout ASurface s)
{
#ifdef A_DIRECTIONAL_BLEND_ON
#ifdef _DIRECTIONALBLENDMODE_WORLD
half3 normal = s.normalWorld;
#else
half3 normal = UnityWorldToObjectDir(s.normalWorld);
#endif
// Convert [-1,1] -> [1,0] to flip direction for free.
half mask = dot(normal, _DirectionalBlendDirection) * -0.5h + 0.5h;
aBlendRangeMask(s, mask, _OrientedScale, _OrientedCutoff, _OrientedBlend, _DirectionalBlendAlphaVertexTint);
#endif
}
#endif // ALLOY_SHADERS_FEATURE_DIRECTIONAL_BLEND_CGINC