Raymarching through 3D functions
More details...
This experiment uses the technique of rendering view positions of a shell (a cube, or a sphere), in a rendertarget. One with the back face (interior of the shell), and another with the front face (sides facing the camera).
With that information, a shader can calculate a ray for each point in the screen that crosses the volume, and use that ray to step through a 3D field (or a 3D texture).
In this case is a turbulent field made of several scales of perlin noise.
Credits
I think the first time i saw this technique was at The Little Grasshoper's Single-Pass Raycasting.
Coded using WebGL with three.js, isMobile.js and Maf.js