Skip to content

jsulpis/realtime-planet-shader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Nov 27, 2023
cfa2776 · Nov 27, 2023

History

61 Commits
Sep 6, 2023
Oct 16, 2023
Nov 27, 2023
Nov 27, 2023
Nov 27, 2023
Nov 24, 2023
Nov 8, 2023
Nov 27, 2023
Nov 13, 2023
Nov 13, 2023
Nov 13, 2023
Nov 9, 2023

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