Nanairo
Nanairo copied to clipboard
Nanairo is a physically plausible spectral renderer.
Nanairo

Nanairo is a physically plausible spectral renderer.
Version: 0.0.4
Description
Demo

Features
Monte calro ray tracing method
BVH
Surface
- Smooth diffuse surface (Lambert BRDF)
- Smooth conductor surface (Fresnel BRDF)
- Smooth dielectric surface (Fresnel BSDF)
- Rough conductor surface (GGX BRDF) [paper]
- Rough dielectric surface (GGX BSDF) [paper]
- Layered diffuse surface (Interfaced Lambertian BRDF) [paper]
- ~~Cloth surface (Microcylinder cloth BRDF)~~ [paper]
Camera
- Pinhole camera
Color
Geometry
- Triangle meshes (support Wavefront .obj file)
- ~~Nagata patch (normal interpolation)~~ [paper], ray intersection [paper]
- Orthonormal basis [paper]
Denoising
- Bayesian Collaborative Denoising for Monte Carlo Rendering [paper]
Tone mappling
- Reinhard [paper]
- Filmic
- Uncharted2
Requirement
Build tools
- C++17 support compiler
- CMake (version 3.10 or later) [page]
Dependency Library
- Qt (version 5.11.0 or later) [page]
Usage
Please see wiki.
Installation
Test environments
Building step is tested in the following environments
- macOS High Sierra + Apple Clang 9.1 + Qt 5.11.1 + CMake 3.12.1
- macOS High Sierra + GCC 8.1 + Qt 5.11.1 + CMake 3.12.1
- Ubuntu 16.04 + GCC 7.3 + Qt 5.11.1 + CMake 3.12.1
- Ubuntu 16.04 + Clang 6.1 + Qt 5.11.1 + CMake 3.12.1
- Windows 10 (64bit) + MinGW GCC 7.3 + Qt 5.11.1 + CMake 3.12.1
- Windows 10 (64bit) + MSVC (Visual Studio 2017) + Qt 5.11.1 + CMake 3.12.1
- Windows 10 (64bit) + Clang 6.1 (Visual Studio 2017) + Qt 5.11.1 + CMake 3.12.1
Download source code
% git clone https://github.com/byzin/Nanairo
% cd Nanairo
% git submodule init
% git submodule update
Setup
To build Nanairo, you need to add the Qt qmake path to PATH.
On Windows,
% set PATH=${qmake_path};%PATH%
On Linux and macOS,
% export PATH=${qmake_path}:$PATH
Python environment setup
Please see wiki for details.
Build
Please see wiki for details.
First, You need to move the build directory.
% cd ${project_root}/build
Next, we generate a Makefile using cmake.
On Linux or macOS
GCC
% CC=gcc CXX=g++ cmake -DCMAKE_BUILD_TYPE=Release ..
% cmake --build .
% ./Nanairo -style material
Clang
% CC=clang CXX=clang++ cmake -DCMAKE_BUILD_TYPE=Release -DZ_CLANG_USES_LIBCXX=ON ..
% cmake --build .
% ./Nanairo -style material
On Windows (MSVC)
Visual Studio 2017 64bit
% cmake -G"Visual Studio 15 2017 Win64" -DCMAKE_BUILD_TYPE=Release ..
% cmake --build . --config Release
% Release\Nanairo -style material
Packaging
Only Windows and Mac are supported.
After release building,
% cpack -C Release
License
LICENSE except for 3d model (resources/model) and spectrum (resources/spectrum) files.
Acknowledgement
Please see Acknowledgement.md.