An open API service indexing awesome lists of open source software.

https://github.com/jsulpis/realtime-planet-shader

Realtime planet shader in WebGL
https://github.com/jsulpis/realtime-planet-shader

glsl shader webgl

Last synced: 4 months ago
JSON representation

Realtime planet shader in WebGL

Awesome Lists containing this project

README

          

# Realtime planet shader in WebGL

## Procedural


screenshot of the procedural shader with the UI






live demo


This is a GLSL fragment shader I originally made on [Shadertoy](https://www.shadertoy.com/view/Ds3XRl) 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


screenshot of the earth shader with the UI






live demo


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](https://github.com/jsulpis/webgl-libs-comparison) 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