[HN Gopher] Real-time dreamy Cloudscapes with Volumetric Raymarc...
___________________________________________________________________
Real-time dreamy Cloudscapes with Volumetric Raymarching
Author : drux
Score : 75 points
Date : 2023-10-31 15:22 UTC (7 hours ago)
(HTM) web link (blog.maximeheckel.com)
(TXT) w3m dump (blog.maximeheckel.com)
| kelseyfrog wrote:
| The hand tuned magic numbers are disconcerting[1]. Couldn't the
| spectral distribution be derived from real-world cloud data?
|
| 1. yes I know it's common practice.
| WhitneyLand wrote:
| Beautiful. Nice work Maxime.
| atum47 wrote:
| very nice tutorial. If I can make one suggestion is to write the
| shaders in a GLSL file format (i.e.: .vs, .fs) then just get the
| text value from it; that way you can get your editor to highlight
| the GSLS syntax, which is pretty helpful when dealing with
| complex shaders.
|
| this not, by any means, the best way of doing it, but I felt it
| was a bit easier writing GLSL code.
|
| https://github.com/victorqribeiro/3Dengine/blob/master/js/Sh...
| lainga wrote:
| > .vs, .fs
|
| Is that like a Unity or Unreal standard? The thing I'm familiar
| with is a single .glsl with a void fragment() and void vertex()
| etc. in it
| shikshake wrote:
| When you're writing graphics engines (at least from my
| experience in OpenGL) you tend to write the vertex and
| fragment shaders in different files and link them when you
| actually need to render something. That way you can use
| combinations of them. The vs or fs extension is used to
| understand which one it is at a glance.
| mrsharpoblunto wrote:
| Great job explaning the whole process! I've been building some
| similar stuff recently for my procedural space-exploration side
| project
| (https://www.threads.net/@mrsharpoblunto/post/CufzeNxt9Ol). I was
| planning to do a dev blog post writing a lot of the details up,
| but yours covers most of the tricks :)
|
| A couple of extra things I ended up doing were:
|
| 1) Using a lower-res texture to modulate the high-res raymarched
| density, this gives you control over the overall macro shape of
| the clouds and allows you to transition between LOD better (i.e.
| as you move from ground level up to space you can lerp between
| the raymarched renderer & just rendering the low-res 2D texture
| without any jarring transition.
|
| 2) Using some atmospheric simulation to colorize the clouds for
| sunrise/sunset. To make this performant I had to build some
| lookup tables for the atmospheric density at given angles of the
| sun.
|
| 3) Altering the step size of the raymarch based on density, I
| took this from the Horizon Zero Dawn developers where they have a
| coarse raymarch and as soon as they get a dense enough sample
| they step back and switch to a higher res step until the density
| hits zero again.
| miohtama wrote:
| This was the best post on Hacker News in 2023.
|
| - Technical
|
| - Beautiful
|
| - In-depth
|
| - Well written
|
| - With passion
___________________________________________________________________
(page generated 2023-10-31 23:00 UTC)