Amazing work! However, I have a question: why you decided to go for ray-marching? Would it be possible to implement a similar effect in OpenGL via instanced rendering? This sounds like an obvious solution, and you must have thought about it, so what's the limitation?
Yes, it can be do by instancing. We just started with this approach, and it worked, so why not.
On a plus side, every single rock has unique shape, unlike instanced models.
So are the old rings disappeared or they're used for long distance?
Yes, old rings are used for a long distance. They also got a lighting update: on this screenshot Saturn illuminating rings at equinox, so Titan's shadow is not completely black.
I don't believe it looks like this irl. All the stones are size comparable to Enterprise, which makes them dozens of feet diameter. In real space the particles are 1-3 inch size mostly. This must look like a fog of dust. And this huge rocks field is 80s sci-fi.
This is WIP. Rock size already can be scaled down to meters, but there arises a performance issue (we have to use double precision floating point numbers in shader, which is slow on all GPUs, even via emulation). This screenshot shows a 300 meter wide S/2009 S 1 moonlet, surrounded by 1 meter size rocks (all this is inside Saturn's rings, which have width of 300,000 km). We are still working on optimization and fixing precission issues.
