it delay   fps

Linear waves on 512×512 square. The script uses Compute shader.

2D wave equation

For the wave equation
    t2u = Δu ,     u|t=0 = exp(-(r - ro )2/ a2),     ∂tu|t=0 = 0,
the simple explicit scheme
    ux,yt+1 = 2ux,yt - ux,yt-1 + (ux+1,yt + ux-1,yt + ux,y+1t + ux,y-1t - 4ux,yt)(Δt/Δx)2   (*)
on square grid is used.

ux,yt, ux,yt-1 values are stored in R and G channels of 2D float32 textures. Old values are read from one texture and new calculated ux,yt+1 and ux,yt are written to another (see the page source).

Boundary points are fixed at 0 (by imageLoad() ).

Surprisingly I can't find RG32F Format Layout Qualifiers for the compute shaders (I need not may be :). Therefore RGBA32F textures are used.


Simulations on GPU
updated 28 Jan 2019