https://hgpu.org/?p=5166
Physical and graphical effects in OpenCL by example