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,48 @@
// Alloy Physical Shader Framework
// Copyright 2013-2017 RUST LLC.
// http://www.alloy.rustltd.com/
/////////////////////////////////////////////////////////////////////////////////
/// @file WeightedBlend.cginc
/// @brief Blending with a heightmap, a cutoff value, and the vertex color alpha.
/////////////////////////////////////////////////////////////////////////////////
#ifndef ALLOY_SHADERS_FEATURE_WEIGHTED_BLEND_CGINC
#define ALLOY_SHADERS_FEATURE_WEIGHTED_BLEND_CGINC
#include "Assets/Alloy/Shaders/Framework/Feature.cginc"
#ifdef A_WEIGHTED_BLEND_ON
/// Heightmap used for blending.
/// Expects an RGB data map.
A_SAMPLER_2D(_BlendMap);
/// Heightmap Blend weight.
/// Expects values in the range [0,1].
half _BlendScale;
/// Height cutoff where blend begins.
/// Expects values in the range [0,1].
half _BlendCutoff;
/// Offset from cutoff where smooth blending occurs.
/// Expects values in the range [0.0001,1].
half _Blend;
/// Controls how much the vertex color alpha influences the cutoff.
/// Expects values in the range [0,1].
half _BlendAlphaVertexTint;
#endif
void aHeightmapBlend(
inout ASurface s)
{
#ifdef A_WEIGHTED_BLEND_ON
float2 blendUv = A_TEX_TRANSFORM_UV(s, _BlendMap);
half mask = tex2D(_BlendMap, blendUv).g;
aBlendRangeMask(s, mask, _BlendScale, _BlendCutoff, _Blend, _BlendAlphaVertexTint);
#endif
}
#endif // ALLOY_SHADERS_FEATURE_WEIGHTED_BLEND_CGINC