Beart is my personal Ray Tracing Render for studying. It is inspired by many open-source renderers. The project is still under development.
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
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.
- Load scene from file
- Blender exporter
- Mitsuba importer
- 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
- 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
- Perspective Camera
- Point Light
- Directional Light
- Area Light
- BVH
- KD-Tree
- Random Sampler
- Stratified Sampler
- assimp
- CLI11
- enoki
- nlohmann-json
- nanothread
- oidn (optional, install tbb first)
- pcg-cpp
- spdlog
- stb
- tineyexr
See REFERENCES.md for a list of references.
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.