Skip to content

๐ŸŒ‡ Path tracing software that can generate life-like images from GLTF scenes.

License

Notifications You must be signed in to change notification settings

rayferric/path-tracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

31 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Path Tracer

๐ŸŒ‡ Path tracing software that can generate life-like images from GLTF scenes.

Features

  • Full support for basic PBR metallic-roughness materials via the GLTF ecosystem.
  • HDRI maps support.
  • Ability to import multiple cameras and sunlights.
  • Full transparency support.
  • Easy to use Python script that denoises your renders using Open Image Denoise.
  • Fully optimized multithreading.

Gallery

Getting Started

Prerequisites

Example

int main() {
	core::renderer renderer;
	renderer.sample_count = 10000;
	renderer.bounce_count = 4;
	renderer.resolution = math::uvec2(1920, 1080);
	renderer.thread_count = 0;
	renderer.transparent_background = true;

	auto hdri = image::image::load("assets/dirt-road.hdr", false);
	renderer.environment = std::make_shared<image::image_texture>(hdri);
	renderer.environment_factor = math::fvec3(3);

	renderer.camera_index = 1;
	renderer.sun_light_index = 0;
	renderer.load_gltf("assets/porsche/porsche.gltf");

	renderer.sun_light->angular_radius = 0.05F;
	renderer.render("renders/porsche.png");

	return 0;
}

Building

conan install -s build_type=Release -if build . --build=missing
cmake -B ./build -S . -DCMAKE_BUILD_TYPE=Release
cmake --build ./build --target PathTracer --config Release

Rendering & Denoising

./build/bin/path-tracer
python ./denoise.py ./renders/porsche.png

About

Authors

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

๐ŸŒ‡ Path tracing software that can generate life-like images from GLTF scenes.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages