mirror of
https://github.com/muskit/H3VR-TNH-Quality-of-Life-Improvements.git
synced 2026-06-03 04:34:26 -07:00
48 lines
1.2 KiB
HLSL
48 lines
1.2 KiB
HLSL
|
|
// Alloy Physical Shader Framework
|
||
|
|
// Copyright 2013-2017 RUST LLC.
|
||
|
|
// http://www.alloy.rustltd.com/
|
||
|
|
|
||
|
|
/////////////////////////////////////////////////////////////////////////////////
|
||
|
|
/// @file Parallax.cginc
|
||
|
|
/// @brief Surface heightmap-based texcoord modification.
|
||
|
|
/////////////////////////////////////////////////////////////////////////////////
|
||
|
|
|
||
|
|
#ifndef ALLOY_SHADERS_FEATURE_PARALLAX_CGINC
|
||
|
|
#define ALLOY_SHADERS_FEATURE_PARALLAX_CGINC
|
||
|
|
|
||
|
|
#if !defined(A_PARALLAX_ON) && defined(_PARALLAXMAP)
|
||
|
|
#define A_PARALLAX_ON
|
||
|
|
#endif
|
||
|
|
|
||
|
|
#ifdef A_PARALLAX_ON
|
||
|
|
#ifndef A_VIEW_DIR_TANGENT_ON
|
||
|
|
#define A_VIEW_DIR_TANGENT_ON
|
||
|
|
#endif
|
||
|
|
#endif
|
||
|
|
|
||
|
|
#include "Assets/Alloy/Shaders/Framework/Feature.cginc"
|
||
|
|
|
||
|
|
#ifdef A_PARALLAX_ON
|
||
|
|
/// Number of samples used for direct view of POM effect.
|
||
|
|
/// Expects values in the range [1,n].
|
||
|
|
float _MinSamples;
|
||
|
|
|
||
|
|
/// Number of samples used for grazing view of POM effect.
|
||
|
|
/// Expects values in the range [1,n].
|
||
|
|
float _MaxSamples;
|
||
|
|
#endif
|
||
|
|
|
||
|
|
void aParallax(
|
||
|
|
inout ASurface s)
|
||
|
|
{
|
||
|
|
#ifdef A_PARALLAX_ON
|
||
|
|
#ifndef _BUMPMODE_POM
|
||
|
|
aOffsetBumpMapping(s);
|
||
|
|
#else
|
||
|
|
aParallaxOcclusionMapping(s, _MinSamples, _MaxSamples);
|
||
|
|
#endif
|
||
|
|
#endif
|
||
|
|
}
|
||
|
|
|
||
|
|
#endif // ALLOY_SHADERS_FEATURE_PARALLAX_CGINC
|