2D and 3D Procedural Textures in WebGL