wip: HouseOfLeaves & BodiesInWater Blocking

This commit is contained in:
Alexandre Coirier
2026-05-20 21:39:54 +02:00
parent 85c17e49b5
commit 55e19eb959
32 changed files with 4125 additions and 326 deletions
@@ -0,0 +1,42 @@
#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