Skip to content

A real-time GPU volumetric clouds renderer via OpenGL.

License

Notifications You must be signed in to change notification settings

ThornyRufus/volumetric-clouds

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

volumetric-clouds

A real-time GPU volumetric clouds renderer via OpenGL, based on the SIGGRAPH 2015 talk The Real-time Volumetric Cloudscapes of Horizon: Zero Dawn by Andrew Schneider.

Collage of realtime render results from the volumetric clouds renderer

How can I run this?

Only tested on Linux.

Prerequisites

  • Qt 6: In order to build and run this program, you will need to have Qt 6 installed on your machine. See https://www.qt.io/product/qt6 for more information.
  • OpenGL with GLSL 4.3 or higher: Required for GPU rendering and compute shaders/SSBO.

Build & Run

We have included a CMakeList.txt file for building the program. If you already have Qt installed, you can build and run the program by following these steps:

  • Launch Qt Creator and click "Open Project"
  • Select and open CMakeLists.txt from the root directory of the project
  • Go to Projects - Run Settings - Run, and change "Working directory" to the root directory of the project
  • Click the "Run" button to build and start the program

Key Features

  • Organic clouds shape generation with 3D fractal Worley noise
  • Dynamic clouds movement over time by offsetting noise textures
  • Physically-based volume rendering with anistropic scattering to account for directional dependence of light scattering within the clouds
  • Rendering compatability with solid objects by compositing with depth and color buffers
  • Rich customization options to craft your own clouds: control density, coverage, shape, and lighting of the clouds in the GUI
  • Realistic sky that varies throughout a day by modeling atmospheric scattering

Optimizations

  • Optimized raymarching with adaptive step sizes and backtracking
  • GL Compute Shader to efficiently generate 3D Worley noise textures

About

A real-time GPU volumetric clouds renderer via OpenGL.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 42.9%
  • C 33.9%
  • HTML 18.1%
  • XSLT 1.5%
  • Python 1.2%
  • Perl 0.5%
  • Other 1.9%