Page 9 of 19

Work progress 0.991

Posted: 15 Feb 2021 03:11
by Ejje
SpaceEngineer wrote:
I'm sorry for so long timw without updates. I lost a habit to post dev screenshots. And too lazy to write blog posts :)

So, 3D rings. Working on it since August together with Duke. Completeness is 90%. This is raymarching, so rocks are not spawned/deleted, they are "generated" on the fly along the ray in each pixel. Performance is quite bad, we we were forced to reduce render resolution. You may notice that rocks are somewhat blurry on some screenshots.


scr00453.jpg
scr00454.jpg
scr00455.jpg
scr00456.jpg
scr00457.jpg
scr00458.jpg
scr00459.jpg
scr00460.jpg
scr00461.jpg

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?

Work progress 0.991

Posted: 15 Feb 2021 03:22
by Salvo
That's insane dude! Congrats!  :shock:

So are the old rings disappeared or they're used for long distance?  :)

Work progress 0.991

Posted: 15 Feb 2021 04:36
by Roy
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.

Work progress 0.991

Posted: 15 Feb 2021 08:24
by SpaceEngineer
FastFourierTransform wrote:
Programing this is a truly amazing feat. Thank you, as always, for such an incredible job.

I'm concerned with the mutual shadowing of the different objects in the rings. That might be a fundamental feature of such scenes in real life, but possibly a CPU killer and an imposible programing goal. I Hope you find some way around this.

Shadow mapping can do the job, by some performance drop of course (all raymarching should go twice: for the camera and for shadow maps).

Work progress 0.991

Posted: 15 Feb 2021 08:32
by SpaceEngineer
Ejje wrote:
Source of the post 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.

Salvo wrote:
Source of the post 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.

Image
Roy wrote:
Source of the post 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.
Image

Work progress 0.991

Posted: 15 Feb 2021 09:50
by HarbingerDawn
Roy wrote:
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.

The size of the particles and thickness of the ring are configurable to any value. The rocks being the same size as the ship will appear to be the case regardless right now since the rings do not sort properly with ship models yet (the ship is always rendered in front, so a 10 cm particle 2 meters from the camera will still seem to be behind the ship, and thus look huge).

Work progress 0.991

Posted: 16 Feb 2021 00:43
by Brett001
Fantastic works! Congrats! :)  
Can this programming technique be used to procedurally generate rocks and stones of different sizes on the surface of planets?

Work progress 0.991

Posted: 16 Feb 2021 10:08
by SpaceEngineer
Brett001 wrote:
Source of the post Can this programming technique be used to procedurally generate rocks and stones of different sizes on the surface of planets?

Yes, but they will have lower resolution than the terrain. So it's a bad idea.

Work progress 0.991

Posted: 16 Feb 2021 17:34
by HarbingerDawn
Brett001 wrote:
Fantastic works! Congrats! :)  
Can this programming technique be used to procedurally generate rocks and stones of different sizes on the surface of planets?

There are much better ways to do that.

Work progress 0.991

Posted: 16 Feb 2021 21:22
by A-L-E-X
DoctorOfSpace wrote:
SpaceEngineer wrote:
Source of the post Performance is quite bad, we we were forced to reduce render resolution.


Just to point out how hard this is on performance, I have a RTX 3090 running at almost 2200Mhz, it never gets over 75C in anything, I pushed 85C today just on these rings
My LEDs are temperature based, red is above 80, I took this picture of the 3090 with my phone with ring resolution at 0.75 setting, running at 1 my framerate would drop to the 30s.

Image
Image




Did a test in 8k, I have some tweaked exposure settings which I need to update, so slightly darker than they should be

Resolution scale for rings set to 0.85
Image
Image

Image
Image

Doc it might be time to get a second 3090 and run them together in SLI ;)

Work progress 0.991

Posted: 17 Feb 2021 06:47
by DoctorOfSpace
A-L-E-X wrote:
Source of the post Doc it might be time to get a second 3090 and run them together in SLI ;)


Would need a new PSU for that, plus SE doesn't really support SLI, nor does my wallet support another 3090.

Work progress 0.991

Posted: 17 Feb 2021 22:05
by Khorrah
Ok I think my pc wouldn't support the next update since my integrated graphics card are of 128 mb LOL

Work progress 0.991

Posted: 17 Feb 2021 22:54
by A-L-E-X
DoctorOfSpace wrote:
A-L-E-X wrote:
Source of the post Doc it might be time to get a second 3090 and run them together in SLI ;)


Would need a new PSU for that, plus SE doesn't really support SLI, nor does my wallet support another 3090.

it sounds like two 3090 would cost more than the rest of the computer combined :(
Doc are there any long term risks with the gpu running over 80C?

Work progress 0.991

Posted: 17 Feb 2021 22:59
by DoctorOfSpace
A-L-E-X wrote:
Source of the post Doc are there any long term risks with the gpu running over 80C?

Shorter lifespan, but this applies to any piece of hardware.

Work progress 0.991

Posted: 18 Feb 2021 10:50
by HarbingerDawn
Khorrah wrote:
Ok I think my pc wouldn't support the next update since my integrated graphics card are of 128 mb LOL

Technically that doesn't meet the minimum requirements of any version of SE ever released, even ones from 10 years ago.