Announcement

Collapse
No announcement yet.

Atmosphere Modelisation / Procedural Planet - Completed

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    Atmosphere Modelisation / Procedural Planet - Completed

    6/18/2019 Latest video featuring the atmosphere




    _____________




    *Edit: finished it last night, you can check 2nd and 3rd posts for some more 'up-to-date' pictures of what it looks like! *


    ____________ Original Post Below ____________



    Implementing this research paper in Unreal Engine 4:
    http://www-ljk.imag.fr/Publications/...69/article.pdf

    It's the same source material as the default atmospheric fog from the engine, but i needed extra controls to hook the atmosphere to a procedurally generated planet.
    There a couple issues left, but i'm getting close to completion, after much struggle i have to say!

    To handle 3D textures, i ended up generating 2D tiles and using PseudoVolumeTexture from Common.ush, it's silly because i have the actual 3D Textures reference but just couldn't figure out an easy way to turn them into editor 'volume texture'.

    Currently using a post process material.








    Last edited by MaximeDupart; 06-18-2019, 10:41 AM.
    LinkedIn | Link custom Shaders in 4.21 | Atmosphere Modelisation | Distance Matching Locomotion | Nvidia GameWorks builds - 4.19.2 : VXGI2.0, Blast, HairWorks, Flow - Plugins: VictoryBP

    #2
    Slowly but surely moving forward with the implementation of the paper.
    Started introducing multiple scatterring iterations. So far there's two scatterring. It's already possible to see the shadow of the planet in its atmosphere, looks really cool.
    Sunset looks great too already.





    LinkedIn | Link custom Shaders in 4.21 | Atmosphere Modelisation | Distance Matching Locomotion | Nvidia GameWorks builds - 4.19.2 : VXGI2.0, Blast, HairWorks, Flow - Plugins: VictoryBP

    Comment


      #3
      Ended up working a bit more on it tonight and wrapped it up. Multiple scatterring setup and working.

      Was a cool project, learned a lot about the inner working of shaders in the engine and how to run custom HLSL code as well as custom compute shaders.

      Had to 'learn' HLSL as i had only practiced GLSL in the past while creating an OpenGL renderer, still was rather straightforward.

      LinkedIn | Link custom Shaders in 4.21 | Atmosphere Modelisation | Distance Matching Locomotion | Nvidia GameWorks builds - 4.19.2 : VXGI2.0, Blast, HairWorks, Flow - Plugins: VictoryBP

      Comment


        #4
        ****, that looks good! Gives off a soothing vibe.

        Comment


          #5
          Thank you, it does. It's a a really interesting paper.

          If you drop a default 'atmospheric fog' in the world and zoom out a lot, this is actually really close to what it would look like.
          LinkedIn | Link custom Shaders in 4.21 | Atmosphere Modelisation | Distance Matching Locomotion | Nvidia GameWorks builds - 4.19.2 : VXGI2.0, Blast, HairWorks, Flow - Plugins: VictoryBP

          Comment


            #6
            Wow! It's cool! Will you post it at Marketplace?)

            Comment


              #7
              Used some NASA high res picture to make a basic Earth model !




              I'm hitting shader precision issues using "World Position" node.
              Last edited by MaximeDupart; 11-30-2018, 05:48 PM.
              LinkedIn | Link custom Shaders in 4.21 | Atmosphere Modelisation | Distance Matching Locomotion | Nvidia GameWorks builds - 4.19.2 : VXGI2.0, Blast, HairWorks, Flow - Plugins: VictoryBP

              Comment


                #8
                Any plans to release this?
                Storyteller - An immersive VR audiobook player

                Dungeon Survival - WIP First person dungeon crawler with a focus on survival and environmental gameplay ala roguelikes

                Comment


                  #9
                  If the value of this atmospheric fog is based on physics, does it mean that it can be used directly to create an accurate day night cycle(the correct skylight is produced by the atmospheric fog)?

                  Comment


                    #10
                    This is the same atmospheric fog that the one already available in the engine when you drop an 'atmospheric fog' into the world.
                    Twist here is that i have lots of settings exposed to make it work on my underlying procedural planets.

                    Would be tricky to release as it is, i'm using a plugin to run 6+ compute and pixel shaders, a bunch of C++ and heavy custom HLSL nodes with 45+ input, it's a mess.

                    There is no light produced as it's a post-process effect, but you can have color information at any given point in the atmosphere. If you use a white directionnal light and use this color information over it you can achieve pretty convincing results but it gets complicated if you want to craft complex world on the surface.

                    edit - Regarding the color information available, i made a first test with volumetric clouds using it :

                    Last edited by MaximeDupart; 12-19-2018, 10:07 AM.
                    LinkedIn | Link custom Shaders in 4.21 | Atmosphere Modelisation | Distance Matching Locomotion | Nvidia GameWorks builds - 4.19.2 : VXGI2.0, Blast, HairWorks, Flow - Plugins: VictoryBP

                    Comment


                      #11
                      Think 'procedural planet' might be a bit reaching here but nontheless, in the video below i've disabled GPU compute shaders which i usually use for normals and details textures computing and therefore only rely on CPU computation, in double precision.

                      There's 17 LODs, collision computation, tesselation for LOD0, and the 'noised sphere' is 1185km radius:

                      Last edited by MaximeDupart; 06-18-2019, 10:48 AM.
                      LinkedIn | Link custom Shaders in 4.21 | Atmosphere Modelisation | Distance Matching Locomotion | Nvidia GameWorks builds - 4.19.2 : VXGI2.0, Blast, HairWorks, Flow - Plugins: VictoryBP

                      Comment

                      Working...
                      X