바다/강

  • 특징 짚기
    • 물결
    • 거품
      • sea form
        • 오브젝트 상호작용은 깊이맵 이용
      • sea spray
    • 거리 가까울때 투명
    • 거리 멀때 거울처럼 반사
      • cubemap ? Planar Reflection
    • 수면 아래 Caustic
      • 카메라 앞에 커스틱 매쉬를 둬서 처리

셰이더 참고 단어

Amplitude웨이브 진폭(amplitude)
Caustic커스틱. 반사/굴절광이 다른 물체에 맺히는 특성

Ref

float3 GerstnerWave (
      float4 wave,
      float3 p,
      inout float3 tangent,
      inout float3 binormal)
{
  float steepness = wave.z;
  float wavelength = wave.w;
 
  float  k = 2 * UNITY_PI / wavelength;
  float  c = sqrt(9.8 / k);
  float2 d = normalize(wave.xy);
  float  f = k * (dot(d, p.xz) - c * _Time.y);
  float  a = steepness / k;
  
  float sinf;
  float cosf;
  sincos(f, sinf, cosf);

  tangent += float3(
    -d.x * d.x * (steepness * sinf),
    d.x * (steepness * cosf),
    -d.x * d.y * (steepness * sinf)
  );
  binormal += float3(
    -d.x * d.y * (steepness * sinf),
    d.y * (steepness * cosf),
    -d.y * d.y * (steepness * sinf)
  );
  
  return float3(
    d.x * (a * cosf),
    a * sinf,
    d.y * (a * cosf)
  );
}

퓨리에변환 fourier transform https://en.wikipedia.org/wiki/Fourier_transform

웨블레트 (Wavelet) 웨이블릿이란 0을 중심으로 증가와 감소를 반복하는 진폭을 수반한 파동 같은 진동을 말한다

phillips spectrum https://github.com/Scrawk/Phillips-Ocean