Files
Ipseity-Demo/Assets/_Content/Models/Environments/Samyaza/Shaders/SamyazaSkybox.hlsl
T

45 lines
1.2 KiB
HLSL

#ifndef SKYBOX_INCLUDED
#define SKYBOX_INCLUDED
#include "Assets/_Content/Shaders/Include/Noises.hlsl"
void Skybox_float
(
float3 ColorA,
float3 ColorB,
float3 ColorC,
float3 ColorD,
float3 PositionOS,
out float3 Color
)
{
float t = _Time.y;
float gradient = length(PositionOS - float3(0, 0, 50));
gradient += FBMNoise3D(PositionOS + float3(0, 0, t * 10), .1, 3, 2, .5) * 20 - 15;
gradient -= RidgedNoise3D(PositionOS + gradient * .3 + float3(0, 0, t * 4), .1, 1, 2, .5) * 7;
float3 c = ColorD;
c = lerp(c, ColorC, smoothstep(40, 0, gradient));
c = lerp(c, ColorB, smoothstep(26, 0, gradient));
c = lerp(c, ColorA, smoothstep(18, 0, gradient));
// Test
//float test = ValueNoise3D(PositionWS, 40);
//float test = PerlinNoise3D(PositionWS, 40);
//float test = PerlinNoise3DLOD(PositionWS, 100, 3.5);
//float test = SimplexNoise3D(PositionWS, 40);
//float test = WorleyNoise3D(PositionWS, 40, 1);
//float id;
//float test = VoronoiNoise3D(PositionWS, 10, 1, .05, id);
//float test = FBMNoise3D(PositionWS, 10, 2, 2, .5);
//float test = RidgedNoise3D(PositionWS, 10, 2, 2, .5);
// Output
Color = c;
}
#endif