Rendered at 22:28:51 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
etra0 1 days ago [-]
I saw this a while ago so it might not be totally related, but Sebastian Lague did a video on atmospheres for his planet generation experiment which was also very entertaining to watch [1].
There's something particularly entertaining on developing visuals and watching them come a reality — I hope at some point be able to experiment in this field.
For me the most amazing thing about Sebastian Lague is how the youtube algorithm can screw you up. He used to do millions of view on his videos, and now he barely makes half a million. Well it might also be because of covid, and everyone at home getting interesting in random stuff.
badestrand 21 hours ago [-]
I think this is just a matter of visuals. His videos that are doing well show many beautiful things. Just looking at the thumbnails and the view counts gives that away already.
matthewfcarlson 1 days ago [-]
Literally my only complaint about Sebastian Lague is that he doesn't have enough videos. I usually put them on to fall asleep. I've thought about making my own just to include more content like that out there. The fairly deep technical topics explored in a calm but thorough way.
gmiller123456 1 days ago [-]
I'm not sure if it was a deliberate omission or not, but it's worth pointing out in the Sunset model that the sky should not go black as soon as the Sun goes below the horizon as it does in the demo. The Sun will still be shining on the atmosphere above you, and in areas above your horizon for a considerable time after Sunset. There will still be a noticeable twilight (in Earth's atmosphere) until the Sun is 18 degrees below the horizon. It's probably not practical to implement using ray tracing, but there are common algorithms to model it.
Sharlin 18 hours ago [-]
Indeed that’s what twilight is by definition.
rollulus 1 days ago [-]
Incredible what mobile phones and browsers can do nowadays. I remember implementing this paper from 1993 (the absolutely OG for this topic and very readable): “Display of The Earth Taking into Account Atmospheric Scattering” by Nishita et al: https://www.researchgate.net/publication/2933032_Display_of_...
jrowen 1 days ago [-]
In another comment I recalled reading a paper while implementing Rayleigh and Mie scattering a while back...this was definitely it!
Getting it working was a "holy shit, we can actually model this complex real-world phenomenon pretty well with a few relatively simple calculations" moment. I went from a static blue skybox to a full day-night cycle just like that.
baliex 1 days ago [-]
This is absolutely fantastic.
I've thought before about trying to render skies on the web as a series of gradients overlaid on top of one another. I expect I could have had some level of success and gotten some mediocre results, but it would be nothing compared to what you've created.
Thank you so much for sharing this; it's inspirational, must have taken you a very long time to put together, and I'm blown away by your results.
jrowen 1 days ago [-]
I implemented Rayleigh and Mie scattering for a game engine once (my own, hobbyist thing). It was pretty crazy to see a quite good sunset/sunrise cycle from those alone. IIRC even the sun itself popped out of that somehow.
I was using XNA (Microsoft's C# gamedev platform) and following Riemer's excellent series of tutorials, which have been preserved here[0], but I don't see anything about scattering. I might have gotten that bit from somewhere else. I do recall reading papers with math equations.
I love the scale that FAQs for things like this provide, as well as the variety of questions.
Q: How many objects are there in SpaceEngine?
A: The entire Hipparcos catalog of stars, all known extrasolar planets, over ten thousand galaxies, most objects in the solar system, which adds up to 130,000 things. In addition, more galaxies and star systems than exist in reality in all of the observable universe.
Q: How can a water planet be hot?
A: Water in the upper atmosphere is in the form of hot vapor, but farther down it smoothly transitions into a liquid state under high pressure. Even deeper it turns into a solid state called ice VII.
Q: How do I move?
Use WASD keys.
the__alchemist 1 days ago [-]
It's fantastic software that's been around for many years, and has exquisite attention to detail on this and many other topics; this article also reminded me of it!
lopsotronic 1 days ago [-]
Wikipedia in one tab, and SpaceEngine in the other, is one of my favorite semi-educational gaming experiences. Great game. I haven't seen anything quite as nice even though it's quite long in the tooth.
mrsharpoblunto 1 days ago [-]
Love a good graphics writeup - I've been working on similar things for my procedural space/planet generator. The cool thing with atmospheric scattering is you can combine it with volumetric cloud rendering and get amazing sunsets & sky scenes
Scattering has long been key to making realistic looking rendered images. One of my favorite papers: http://www.graphics.stanford.edu/papers/bssrdf/bssrdf.pdf
which I think is the first time I learned that rendering milk is a tricky problem.
jeremyscanvic 1 days ago [-]
I wonder how this relates to the Perez All-Weather and Preetham sky models. Not an expert about that but I managed to implement those in the past and it was quite a fun project!
Wow. This was quite a ride. I only understood maybe 5% - but I was massively impressed.
MeshHideaki 1 days ago [-]
Same here. The visuals alone made it worth reading.
sdoering 1 days ago [-]
Absolutely. Could not agree more!
rmac 9 hours ago [-]
this guy (maxime?) is my hero:
1) shares openly about his journey learning new things (in code, writing, etc)
2) has phenomenal style
3) ive gone through every single one of his blog posts and i dont know what any of it means really but its all beautiful
max if you read this: thanks for sharing. for realz
xerox13ster 1 days ago [-]
Oh hell yeah this is beautiful and a great read.
Also given this is MIT licensed, the skybox for my game is a solved problem! All I need is that render where the sun traverses the sky since perspective will be fixed. This allows me to extend it for the variation of the Sun’s angle through the year with sinusoidal periodicity.
gabrielcsapo 1 days ago [-]
Incredible personal website, great post. Super awesome content!
DonaldPShimoda 1 days ago [-]
Agreed, this is a gorgeous blog. Makes me get the itch to redesign my own at some point (even though I've never been great at design).
laander 1 days ago [-]
Stunning - both the result and interactive walkthrough of how you got there.
Will store this next to my collection of Sebastian Lague favs. Thanks for sharing it with the world
arjie 1 days ago [-]
Oh these are gorgeous. And I’m partial to the kind of things that are based on physics models as opposed to the techniques based on graphics hacks (stacked gradients etc.).
whicks 1 days ago [-]
This is hugely relevant to my interests. In my spare time I've been building a planetarium/star map app (iOS / Vision Pro) and atmospheric scattering is something that has been on my todo list for awhile. This is definitely above and beyond what I'm going for atmosphere-wise but still amazing to see. Thanks to Maxime for this write up!
swiftcoder 1 days ago [-]
Love it, this is one of the best explainers of atmosphere rendering I've seen on the web
dextrous 19 hours ago [-]
Beautiful work, thanks for sharing!
mirekrusin 1 days ago [-]
Gem.
Flat earth version for comparison would be fun.
colechristensen 1 days ago [-]
That's really great and quite conveniently timed for me I've been working on my own sky rendering over the last week or so of evenings[1], to end up as a Godot plugin and perhaps a writeup. It started as deep dissatisfaction with the results I could achieve with what was available. I'm still on the fence about the distance to go for realism vs whatever I find aesthetically pleasing.
Can you tell I don't publish many youtube videos? Apparently "unlisted" didn't do what I wanted.
chickensong 20 hours ago [-]
All good. It works now, and it looks great! I'd be interested in the plugin and write up. How can I get notified of updates?
colechristensen 3 hours ago [-]
One thing I have is a series of machine written expository articles about narrow topics that were really intended for me to help learning and development, those could definitely be shared with the right context. Eventually I'd like to write something as well. I should probably put together a blog subdomain.
slopinthebag 1 days ago [-]
I love how just a bit of math can create such beautiful visuals
adornKey 13 hours ago [-]
Great! Now add a liquid ocean and add scattering in that liquid. Stretch goals: absorption and reflections...
There's something particularly entertaining on developing visuals and watching them come a reality — I hope at some point be able to experiment in this field.
[1] https://www.youtube.com/watch?v=DxfEbulyFcY
Getting it working was a "holy shit, we can actually model this complex real-world phenomenon pretty well with a few relatively simple calculations" moment. I went from a static blue skybox to a full day-night cycle just like that.
I've thought before about trying to render skies on the web as a series of gradients overlaid on top of one another. I expect I could have had some level of success and gotten some mediocre results, but it would be nothing compared to what you've created.
Thank you so much for sharing this; it's inspirational, must have taken you a very long time to put together, and I'm blown away by your results.
I was using XNA (Microsoft's C# gamedev platform) and following Riemer's excellent series of tutorials, which have been preserved here[0], but I don't see anything about scattering. I might have gotten that bit from somewhere else. I do recall reading papers with math equations.
[0] https://github.com/SimonDarksideJ/XNAGameStudio/wiki/Riemers...
https://spaceengine.org/
Q: How many objects are there in SpaceEngine?
A: The entire Hipparcos catalog of stars, all known extrasolar planets, over ten thousand galaxies, most objects in the solar system, which adds up to 130,000 things. In addition, more galaxies and star systems than exist in reality in all of the observable universe.
Q: How can a water planet be hot?
A: Water in the upper atmosphere is in the form of hot vapor, but farther down it smoothly transitions into a liquid state under high pressure. Even deeper it turns into a solid state called ice VII.
Q: How do I move?
Use WASD keys.
https://www.threads.com/@mrsharpoblunto/post/DVS4wfYiG8f?xmt... https://www.threads.com/@mrsharpoblunto/post/C6Vc-S1O9mX?xmt... https://www.threads.com/@mrsharpoblunto/post/C6apksDRa8q?xmt...
https://github.com/jscanvic/SkySim
1) shares openly about his journey learning new things (in code, writing, etc) 2) has phenomenal style 3) ive gone through every single one of his blog posts and i dont know what any of it means really but its all beautiful
max if you read this: thanks for sharing. for realz
Also given this is MIT licensed, the skybox for my game is a solved problem! All I need is that render where the sun traverses the sky since perspective will be fixed. This allows me to extend it for the variation of the Sun’s angle through the year with sinusoidal periodicity.
Will store this next to my collection of Sebastian Lague favs. Thanks for sharing it with the world
Flat earth version for comparison would be fun.
https://www.youtube.com/watch?v=BJDgmVUL7HY
This paper was the point I jumped in with An analytic model for full spectral sky-dome radiance
https://dl.acm.org/doi/10.1145/2185520.2185591