#ifndef WATER_INCLUDED #define WATER_INCLUDED #include "Assets/_Content/Shaders/Include/Noises.hlsl" void Water_float ( float3 PositionWS, float3 NormalWS, out float3 Position, out float Height ) { float t = _Time.y; float depth = length(PositionWS - _WorldSpaceCameraPos.xyz); float height = PerlinNoise3D(PositionWS + float3(0, 0, t), .8) * .8; height = dot(height, PerlinNoise3D(PositionWS + float3(t * .2, 0, t * .5), 1.7)); height = pow(height, .5); // 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 Position = PositionWS; Position.y += height * .4f - .2; Height = height; } #endif