Git Product home page Git Product logo

realisticatmosphere's Introduction

Realistic Atmosphere

Teaser A standalone application for rendering procedural planetary images on the GPU.

Can use both realtime and offline raytracing/pathtracing (RT/PT) + raymarching (RM).

Link to the thesis

Features

  • Atmospheric scattering (RM)
    • Volumetric light
  • Cloud precipitation (RM)
  • Procedural terrain (RM, RT/PT for shadows)
    • RM for accelerated soft shadows
  • Procedural objects (spheres & cubes) (RT/PT)
    • Only diffuse material
  • View from any location (including the space)
  • Real physical properties
    • Color correction (Radiance โžก Luminance)
    • Cloud scattering function
      • Based on real measurements
  • Optimizations
    • Light shafts approximation
  • Configurable output image size
    • PNG output format
    • Tiled rendering (for lower-end devices)

Implementation

  • BGFX framework limited to OpenGL backend
  • Raw GLSL used in (mainly compute) shaders
  • GLM for algebraic calculations
  • SDL for input

Build

Use 64-bit Visual Studio 2022 with MSVC v143 C++ workload and Windows 10 SDK 10.0.19041.0.

Hardware requirements

Tested on GeForce GTX 1050 Mobile and Intel UHD Graphics 630.

Screenshots

Program window Path tracing View from space

realisticatmosphere's People

Contributors

osdvf avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.