top of page
HighresScreenshot00010.png

Procedural Solar System

Tool for simulating solar systems. Parameters allow for the generation of a wide variety of moons and planets. Noise layers along with masks generate planet terrain on the GPU and are incredibly efficient. A water shader can be used for planets with oceans. 

Planets and moons orbits are simulated accuratley according to Newtonian physics. 

​

Github

HighresScreenshot00003.png

Moon Generation

Moons generate through a three stage GPU compute shader pipeline. The process begins with the generation of a sphere mesh using a sphere generation compute shader that outputs vertices with a specified segment resolution and radius. Subsequently craters are formed using parabolic math to create realistic rims and cavities. A bias towards smaller craters is used for realism. Finally layerd fractal noise dispalces the generated vertices to create a varied and more interesting surface introducing ridges and finer details.

Planet Generation

Planets generate using three compute shaders. First, the planet dispatches the same sphere shader as the moon. This sphere is then deformed using the planet shader. Noise and masks combine to generate continents, rivers, valleys and other geographical features. Vertexes are coloured in this shader based on their location and its gradient. Parameters can be tweaked to alter characteristics of generated planets. A water shader creates the oceans with adjustable murk, scattering etc... Finally a post-processing pixel shader creates the atmosphere around planets simulating accurate light scattering.

HighresScreenshot00010.png
orbits2.png

Orbits

Every celestial body calculates the gravitational force acting on it from all other bodies in the scene using Newtons law of Universal Gravitation (F = G * (m1*m2)/r²). The force determines the acceleration which updates the velocity and postion of the body over time. Orbits can be visualised using a debug feature. 

Atmospheres

Still a work in progress. 

Currently have

-Ray Marching

-Rayleigh Scattering

HighresScreenshot00002.png

Gallery

HighresScreenshot00011.png
HighresScreenshot00011.png
HighresScreenshot00009.png
orbits2.png
HighresScreenshot00003.png
HighresScreenshot00005.png
HighresScreenshot00000.png
HighresScreenshot00002.png
HighresScreenshot00007.png
bottom of page