I came up with a new way of rendering water today! It’s basically a raymarched plane with the SDF function offset by simplex noise (with the xz position as the input). The coloring is a simple lerp based on the noise displacement with high points set to blueish and low points set to greenish. The white lines are basically an animated voronoi diagram with value noise. This is all in a fragment shader using raymarching, but the exact same concept could be used on an actual mesh in a game (displacement logic would be moved into the vertex shader and the coloring logic would move into the fragment shader). Here’s the shadertoy link.