[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)