Skip to content

tatsy/spica

Repository files navigation

spica

License Build Status Build status Coverage Status

spica is a cross-platform physically-based renderer. The project is maintained to be light-weight. All the dependencies can be installed as a Git's submodule system!

Installation

Build

This project uses C++17. The build is tested under following environments.

  • GNU C compiler (v7.3.0 or higher)
  • Microsoft Visual C++ compiler (MSVC 2017)

Command

$ git clone --depth=10 https://github.com/tatsy/spica.git
$ git submodule update --init --recursive
$ mkdir build && cd build
$ cmake -D CMAKE_BUILD_TYPE=Release -D SPICA_BUILD_MAIN=ON [-D WITH_SSE=ON] ..
$ cmake --build .
$ make install

Results

You can find other results also in the scenes folder.

Cornell box

Simple path tracing (1000 spp) The scene courtesy of Mitsuba renderer (W. Jakob 2010).

Cornell box (Subsurface Scattering)

Simple path tracing (5000 spp) The scene courtesy of Mitsuba renderer (W. Jakob 2010).

Multiple importance sampling

Direct lighting only (1000 spp) The scene courtesy of Mitsuba renderer (W. Jakob 2010).

Cornell box (with glossy surfaces)

Bidirectional path tracing (256 spp)

Acknowledgment

This renderer is largely inspired by PBRT v3 of M. Pharr, G. Humphreys and W. Jakob. The author would sincerely like to appreciate the authors for allowing the open access to their source codes.

The author sincerely would also like to thank for HDR images provided by sIBL Archive http://www.hdrlabs.com/sibl/archive.html. These images are licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 License.

License

The MIT License (MIT). Copyright (c) 2015-2018 Tatsuya Yatagawa (tatsy).