Skip to content

bearprin/Beart

Repository files navigation

Beart


Beart is my personal Ray Tracing Render for studying. It is inspired by many open-source renderers. The project is still under development.

Building the project

Clone the repository and submodules:

$ git clone --recursive https://github.com/bearprin.git
$ git submodule update --init --recursive

Use CMake to generate the build system for your favorite IDE or compiler. For example, on Mac/Linux, you can use the following commands to generate a Makefile and build the project:

$ cd beart
$ cmake -B build -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles"
$ cmake --build build -j

Usage

Find the executable file in build/bin directory.

$ ./build/bin/beart -s scenes/{scenes_file_path} -o {output_file_path}

where -s is the scene file path, -o is the output file path.

The default output file path is the "output/{scenes_file_name}_{timestamp}.exr"

We recommend tev and HDRView to view the output image.

Features

SceneFile

  • Load scene from file
  • Blender exporter
  • Mitsuba importer

Integration

  • Direct Illumination
  • Ambient Occlusion
  • Path Tracing
    • VolPath Tracing
    • Modern Volume Rendering,
  • Light Tracing
  • Bidirectional Path Tracing (may some bugs, fix later)
    • Light Transport Simulation with Vertex Connection and Merging, Georgiev, 2012

-[ ] Photon Mapping

Material

  • Lambertian Diffuse
  • Oran Nayar Diffuse
  • Modified Phong model
  • Microfacet model
    • conductor
    • dielectric
    • Multiple-Scattering Microfacet BSDFs with the Smith Model, Heitz, 2016
    • Importance Sampling Microfacet-Based BSDFs using the Distribution of Visible Normals, Heitz, 2014

Camera

  • Perspective Camera

Light

  • Point Light
  • Directional Light
  • Area Light

Acceleration

  • BVH
  • KD-Tree

Sampler

  • Random Sampler
  • Stratified Sampler

Image Gallery

odyssey_nee

loewenfeld-in-box

jenson_box

Dependencies

References

See REFERENCES.md for a list of references.

Acknowledgements

Since scene data is very important for the render, I have transferred some scene files from other open-source renderers.

I would like to thank the scenes files and models from darts and ecse689.

About

Beart: Ray Tracing Render by Bearprin

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published