Firstborn/Library/PackageCache/com.unity.terrain-tools@4.0.3/Shaders/NoiseLib/Noise.hlsl

213 lines
5.0 KiB
HLSL
Raw Normal View History

2023-03-28 13:24:16 -04:00
// #ifndef UNITY_TERRAIN_TOOL_NOISE_INC
// #define UNITY_TERRAIN_TOOL_NOISE_INC
// /**************************************************************************
// Includes
// **************************************************************************/
// #include "NoiseCommon.hlsl"
// #include "NoiseImpl.hlsl"
// /**************************************************************************
// Fractal Functions
// **************************************************************************/
// float fbm( float p, FractalParams f )
// {
// float n = 0;
// for( float i = 0; i < f.octaves; ++i )
// {
// n += f.amplitude * noise_impl( p * f.frequency );
// f.frequency *= f.lacunarity;
// f.amplitude *= f.persistence;
// }
// return n;
// }
// float fbm( float2 p, FractalParams f )
// {
// float n = 0;
// for( float i = 0; i < f.octaves; ++i )
// {
// n += f.amplitude * noise_impl( p * f.frequency );
// f.frequency *= f.lacunarity;
// f.amplitude *= f.persistence;
// }
// return n;
// }
// float fbm( float3 p, FractalParams f )
// {
// float n = 0;
// for( float i = 0; i < f.octaves; ++i )
// {
// n += f.amplitude * noise_impl( p * f.frequency );
// f.frequency *= f.lacunarity;
// f.amplitude *= f.persistence;
// }
// return n;
// }
// float fbm( float4 p, FractalParams f )
// {
// float n = 0;
// for( float i = 0; i < f.octaves; ++i )
// {
// n += f.amplitude * noise_impl( p * f.frequency );
// f.frequency *= f.lacunarity;
// f.amplitude *= f.persistence;
// }
// return n;
// }
// float fbm( float p )
// {
// return fbm( p, GetFractalParams() );
// }
// float fbm( float2 p )
// {
// return fbm( p, GetFractalParams() );
// }
// float fbm( float3 p )
// {
// return fbm( p, GetFractalParams() );
// }
// float fbm( float4 p )
// {
// return fbm( p, GetFractalParams() );
// }
// /**************************************************************************
// Noise Functions
// - Call these from your shader
// **************************************************************************/
// /**************************************************************************
// Noise Functions - Fractal, Non-Warped
// **************************************************************************/
// float noise( float1 pos, FractalParams fractal )
// {
// return fbm( pos, fractal );
// }
// float noise( float2 pos, FractalParams fractal )
// {
// return fbm( pos, fractal );
// }
// float noise( float3 pos, FractalParams fractal )
// {
// return fbm( pos, fractal );
// }
// float noise( float4 pos, FractalParams fractal )
// {
// return fbm( pos, fractal );
// }
// /**************************************************************************
// Noise Functions - Fractal, Warped
// **************************************************************************/
// float noise( float pos, FractalParams fractal, WarpParams warp )
// {
// // do warping
// for ( float i = 0; i < warp.iterations; ++i )
// {
// float q = fbm( pos + warp.offset.x );
// pos = pos + warp.strength * q;
// }
// float f = fbm( pos, fractal );
// return f;
// }
// float noise( float2 pos, FractalParams fractal, WarpParams warp )
// {
// // do warping
// for ( float i = 0; i < warp.iterations; ++i )
// {
// float2 q = float2( fbm( pos ), fbm( pos + warp.offset.xy ) );
// pos = pos + warp.strength * q;
// }
// float f = fbm( pos, fractal );
// return f;
// }
// float noise( float3 pos, FractalParams fractal, WarpParams warp )
// {
// float q;
// // do warping
// for ( float i = 0; i < warp.iterations; ++i )
// {
// q = float3( fbm( pos.xyz ),
// fbm( pos.xyz + warp.offset.xyz ),
// fbm( pos.xyz + float3( warp.offset.x, warp.offset.y, 0 ) ) );
// pos = pos + warp.strength * q;
// }
// float f = fbm( pos, fractal );
// return f;
// }
// float noise( float4 pos, FractalParams fractal, WarpParams warp )
// {
// // do warping
// // for ( float i = 0; i < warp.iterations; ++i )
// // {
// // float4 q = float4( fbm( pos ), fbm( pos + warp.offset.xyzw ) );
// // pos = pos + warp.strength * q;
// // }
// float f = fbm( pos, fractal );
// return f;
// }
// /**************************************************************************
// Noise Functions - Non-Fractal, Non-Warped
// **************************************************************************/
// float noise( float pos )
// {
// return noise_impl( pos );
// }
// float noise( float2 pos )
// {
// return noise_impl( pos );
// }
// float noise( float3 pos )
// {
// return noise_impl( pos );
// }
// float noise( float4 pos )
// {
// return noise_impl( pos );
// }
// #endif // UNITY_TERRAIN_TOOL_NOISE_INC