Skip to content

jsulpis/realtime-planet-shader

Repository files navigation

Realtime planet shader in WebGL

Procedural


This is a GLSL fragment shader I originally made on Shadertoy when learning raymarching. Later I switched to analytic raycasting for better performance. It's made by raycasting simple spheres with a bunch of fbm noises used for the normals and colors, and a fake atmosphere computed with distance functions.

I wanted to display it on a web page so that I can make a nice GUI to tweak the uniforms. Here it is !

It runs at 60fps on my old low-end phone, so it should also be quite smooth on whatever device you have.


Textures


After the procedural version, I found a bunch of textures to display a realistic view of some planets of our solar system. Still with a few controls, and no quality setting because it should already run at full fps on most devices.

Note

If you want a minimalist setup to render GLSL shaders on a canvas like this one, you can check out the little study I made before this project.

More renders

a render of the Earth a render of the Moon a render of Mercury a render of Venus a render of Mars a render of Jupiter a render of the procedural planet a render of the procedural planet a render of the procedural planet