These are a couple screenshots from a small piece of software I wrote (whilst
extremely bored) that simulates accretion of a solar system. The rendering
is powered by my Nudge2 engine which features (here at least) lens flares,
blooms, motion blur, a particle system and normal mapping using GLSL for the
The much more interesting aspect of the software is the gravity simulation
itself. The program uses Newtonion gravity to calculate the movement of
thousands of pieces of individual rock orbiting around a new-born star. When
asteroids collide at relatively low speed, they merge and form bigger
asteroids (or if big enough, planets) with a larger gravitational influence.
When they collide at higher speeds they break into smaller pieces. When the
simulation is left to run for minutes (or hours depending on the amount of
rocks used initially) planets begin to form, and eventually a whole solar
system is randomly constructed. The great thing is that since accretion
simply follows the laws of gravity, and no template is used to precalculate
the planets, the solar system it makes is unique every time the simulation
I intend to add a few more features before I declare the project finished.
One thing I really want to add is composite properties to the initial pieces
of rock, so that each planet that is eventually formed has a different
compositional make-up to the rest (also giving it a unique appearence).