Skip to content

neodyme60/Skwarka

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OVERVIEW

Skwarka is a research-oriented physically based raytracer inspired by the PBRT. It is used primarily as a test platform for global illumination algorithms and research.

FEATURES

Illumination algorithms:

  • Direct Illumination
  • Photon mapping

Light sources:

  • Point light (and the like)
  • Directional light
  • Area light (mesh-based)
  • Environmental light

Materials:

  • Matte
  • Plastic
  • Transparent
  • Metal
  • Substrate
  • Measured (MERL-based)

Supported input formats:

  • PBRT scene description files

General:

  • Based on triangle meshes. The system supports a number of geometric shapes (such as spheres etc.) by triangulating them to triangle meshes. Object instancing is supported.
  • Supports volumetric scattering.
  • Multi-threaded. The system uses the Intel TBB library to take advantage of multi-core systems.

GALLERY

The gallery contains a number of interesting scenes rendered by Skwarka to illustrate its functionality.

FILE STRUCTURE

  1. Source/ : The source code of the raytracer along with the MSVC project files.
  2. ThirdParty/ : Third-party dependency libraries.
  3. Binaries/ : An output directory automatically generated by the build process. Contains final binaries necessary to run the application.
  4. Intermediate/ : A temporary directory automatically generated by the build process. Contains intermediate binaries for the build process.

SETUP AND BUILD

  1. Install MSVC version 2013 or later.
  2. Download third-party libraries. Some third-party libraries are not in the repository (to save space) and must be downloaded and extracted manually.
    1. Boost
      Download and extract boost library from the website http://www.boost.org/
      The currently used version is 1.56 and it needs to be extracted to ThirdParty/boost/1.56 directory
    2. TBB
      Download and extract TBB library from the website https://www.threadingbuildingblocks.org/
      The currently used version is 4.2 and it needs to be extracted to ThirdParty/TBB/4.2 directory
  3. Open Source/RayLibs/RayLibs.sln file in MSVC and it should be instantly ready for build (except for the unit tests).
    If you also want to build the unit tests (the UnitTests project) you will additionally need to install Python and make sure it's on your PATH env variable.

LICENSE

The project is distributed under the GNU General Public License Version 3 - see the accompanying LICENSE file for more details.

ACKNOWLEDGMENT

The project is based on the PBRT and reuses some of its ideas and code.

The project also uses the following third-party libraries:

  1. Boost
  2. CxxTest
  3. FreeImage
  4. Intel TBB

Releases

No releases published

Packages

No packages published

Languages

  • C 52.0%
  • C++ 27.8%
  • C# 11.0%
  • Visual Basic .NET 2.5%
  • Python 2.2%
  • HTML 1.7%
  • Other 2.8%