Skip to content

dehezhang2/Kombu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Kombu Renderer

Deheng Zhang, Ganlin Zhang

Overview

earth_water_2.0

This is a physically based renderer based on Nori in C++11. The functions supported include path tracing with multiple importance sampling (MIS), photon mapping, volumetric path tracing with MIS, heterogeneous media, different distance sampling and transmittance estimation methods (ray marching, delta tracking, and ratio tracking), bilateral filter with uniform variance denoting, directional light, anisotropic phase function, object instancing, Disney BSDF, environment map and texture, stratified sampling, blend and conductor BSDF, bump mapping. For more information, please view our project website.

The renderer is developed for the rendering competition in ETH Computer Graphics course 2022. Please DO NOT directly copy the code from this repository, we only provide the code for reference.

Installation

  • All the codes are tested in the following environment:

    • Mac OS (Version 11.6), Linux (Ubuntu 20.04, 22.04)
    • CMake (Version 3.16.3, 3.20.2, 3.25.2)
  • Install Qt4: You need to install Qt4 for the heterogeneous volume data reading:

    • Mac:

      conda remove --force qt
      brew uninstall --force qt
      brew tap cartr/qt4
      brew tap-pin cartr/qt4
      brew install qt@4
      conda install -c pkgw-forge qt4
    • Linux:

      sudo add-apt-repository ppa:rock-core/qt4
      sudo apt update
      sudo apt install qt4-dev-tools libqt4-dev
      sudo apt-get install xorg-dev libglu1-mesa-dev
  • Build the code (or you can directly use the compiled release version)

    cd code
    mkdir build
    cd build
    cmake ..
    make -j 4

Data Preparation

Please download the scene from polybox, and unzip the file using unzip sample_scene.zip. The layout should looks like this:

code
└── final_scene
    ├── bounds.obj
    ├── earth_water_4.0.exr
    ├── earth_water_5.0.exr
    ├── earth_water_5.0.png
    ├── earth_waterdenoised_4.0.exr
    ├── earth_waterdenoised_5.0.exr
    ├── earth_waterdenoised.exr
    ├── earth_waterdenoised.png
    ├── earth_water.exr
    ├── earth_water.png
    ├── earth_water.xml
    ├── light.obj
    ├── meshes
    ├── obj_chimney_meshes
    ├── obj_meshes
    ├── smoke_exp
    ├── smoke.vol
    └── texture

Demo

  • Run the renderer using:
cd code/build
./kombu ../final_scene/earth_water.xml

License

The code is released under the GPL-3.0 license.