Procedural Terrain on a Sphere. Rendered on WebGL 2.0.

Water Level

You can adjust the water level allowing a larger variety of planets to be constructed.

Water Transparency

Using simple alpha blending, I achieved Ocean Depth just by varying the depth of the land underneath. It has a really cool effect which works even better if we just remove the water entirely!

Level of Detail

Based on the camera distance, the procedural noise changes its octaves. If we are far away from the camera, we have less octaves allowing better frame rates as we don’t spend time rendering a highly detailed planet which is really far away from the camera.


I used simple matcap to get an interesting color effect on the terrain. This is a much better alternative than flat shading.