Русский New site

Site menu
Login form

Search
Donate
Our poll
What would you most like to see in the next version of SpaceEngine?
Total answers: 53741
Statistics


Now on site:
Total online: 23
Guests: 22
Users: 1

Today visited:

Blog

Main » 2013 » November » 11 » Procedural debris ring
18:53
Procedural debris ring
Implemented something like debris asteroid belt around a planet. Nothing new relative to engine, just few hundreds of asteroids orbiting a planet. Brute force implementation killed FPS immediately, so I made many optimizations: reduce size of asteroids to few kilometers (so only few models generated and rendered at once), disable lighting and casting shadows by asteroids on each other, make their orbits circular (so orbital motion computation is going as fast as possible). Anyway, FPS is just 30-40 if time is paused, and dropped twice if time is running (but this depend on planetary system - number of suns, asteroid belts, etc). However, lighting and shadowing is perfect:



Debris is normal asteroids, so they rendered as asteroids with procedural landscape, and their orbits can be visualized as ususal:





Computation of visual lighting/eclipsing and magnitude and color is done on CPU, and this is main bottleneck. Anyway even if it will compute on GPU, it will be possible to handle few millions of asteroids. So to implement good planetary rings with billions of debris, some cheats must be used.

From distance and planetary surface it looks a bit weird, due to very big visual magnitude of each debris (well, they are many kilometers in diameter, and this gas giant is close to sun), and pure white color.



Look how debris disappear when they go into gas giant shadow, and into satellite shadow. Second satellite casts its shadow above giant's equator, and debris do not enter it.

Views: 748 | Added by: SpaceEngineer | Rating: 5.0/1
Total comments: 0
Only registered users can add comments.
[ Registration | Login ]