/Earth-Viewer

A renderer that generates realistic images of the Earth from outer space.

Primary LanguagePython

Demo shots 1080p
Earth render 1 Earth render 2
Earth render 1 Earth render 2

Overview

A renderer that generates highly realistic images of the Earth from outer space.

Rendering is done with Path Tracing in participating media.

  • Uses measured data for density and light response (extinction coeficients and scattering functions) of atmospheric gases.
    • Rayleigh scatterers: Nitrogen (N2), Oxygen (O2), Carbon Dioxide (CO2)
    • Mie scatterers: Water vapour
    • Other absorbers: Ozone (O3)
  • Uses textures from NASA for ground albedo, water bodies, topology, clouds.
  • Uses spectral rendering to get an accurate representation of colours.
  • Uses importance sampling in the form of direct light (sun) sampling and phase function pdf.

Taichi Lang documentation: https://docs.taichi-lang.org/

Step-by-step Installation

  1. Install dependencies of the renderer. (Assuming you have Python)
pip install -r requirements.txt
  1. Then download textures from here (google drive) and drag them into the textures folder.

  2. Finally, to run Earth Viewer,

python main.py

Controls

  • Drag with your right mouse button to rotate the camera.
  • Press W/A/S/D to move the camera.
    • Press 'Q' to rotate the camera to Earth's surface
    • Press 'E' to reset camera rotation
    • Press SPACE to go up
    • Press CTRL to go down
  • Press P to save a screenshot.