Physically based path tracer made in Vulkan. For ray tracing it utilizes Vulkan Ray-Tracing Pipeline. It uses energy conserving BSSRDF with Diffuse, Dielectric, Metallic and Glass lobes + volumes. Renders that you create can be easily saved as .png images. It also features post processing effects like bloom, tonemapping. It also uses Optix Denoiser for denoising renders.
- Download Vulkan SDK.
- Download PathTracer.zip from Releases.
- Unzip and run
PathTracer/PathTracer/PathTracer.exe
.
- Download Vulkan SDK.
- Run
git clone https://github.com/Zydak/Vulkan-Path-Tracer --recursive
. - Go to Releases and download Shaderc.zip
- Unzip and copy Shaderc libraries into
Vulture/lib/shaderc/
. - Run
setup.bat
in main directory. - Open generated solution in Visual Studio.
-
Metallic factor ranging from 0 to 1. Determines whether the surface is metallic or dielectric.
-
Anisotropy factor on metallic surface with roughness 0.5 ranging from 0 to 1.
-
Index of refraction (IOR) factor ranging from 1 to 3. Changes the strength of specular highlights on dielectric surfaces.
-
Specular Tint factor on dielectric surface ranging from 0 to 1. Gradually Tints the specular highlights to the surface color.
-
Transparency factor ranging from 0 to 1. Determines whether the material is able to refract light rays or not.
-
Roughness factor on transparent surface ranging from 0 to 1.
-
Index of refraction (IOR) factor on transparent surface ranging from 1 to 2. Determines how much the path of light is bent during refraction.
- Energy Conserving BSSRDF.
- HDR Environment Maps
- Environment map MIS
- Complex Materials
- Volumetric Scattering using delta tracking
- Textures and Normal Maps
- Editor
- Loading your own scenes in .gltf .fbx and .obj format
- Editing scene materials in runtime
- Exporting renders into .PNG files
- Saving and loading scenes
- Shader hot reloading and caching
- Post Processing
- Bloom using Mip Maps
- Exposure
- Contrast
- Brightness
- Saturation
- Vignette
- Gamma
- Temperature with Tint
- Color Filter
- Chromatic Aberration
- 6 Tonemappers (Filmic, Hill Aces, Narkowicz Aces, Exposure Mapping, Uncharted 2, Reinchard Extended)
- Anti Aliasing
- Depth of Field effect with automatic focal length
- Image Denoising using Nvidia Optix Denoiser
- Camera controller made using quaternions
- Sampling the GGX Distribution of Visible Normals
- Microfacet Models for Refraction through Rough Surfaces
- Importance Sampling Microfacet-Based BSDFs using the Distribution of Visible Normals
- A Reflectance Model For Computer Graphics
- Practical multiple scattering compensation for microfacet models
- https://developer.nvidia.com/orca/amazon-lumberyard-bistro - Bistro
- https://www.intel.com/content/www/us/en/developer/topic-technology/graphics-research/samples.html - Sponza
- https://www.blender.org/download/demo-files/ - Classroom
- https://sketchfab.com/3d-models/screaming-dragon-head-3d-print-5712b52618f743b193bdd39459099f25 - Screaming Dragon Head
- https://sketchfab.com/3d-models/dog-statue-49d97ca2fbf34f85b6c88ae8ebc7514f - Dog Statue
- https://github.com/mmacklin/tinsel - Ajax
- https://pbrt.org/scenes-v3 - Small Dragon
- https://pbrt.org/scenes-v3 - Coffee Cup
- https://www.blender.org/download/demo-files/ - Monster
- https://polyhaven.com/hdris - Env Maps
- https://polyhaven.com/a/ship_pinnace - Ship
- https://benedikt-bitterli.me/resources/ - Dragon
- https://wirewheelsclub.com/models/1965-ford-mustang-fastback/ - Mustang
- https://renderman.pixar.com/official-swatch - RenderMan teapot
- https://www.cgbookcase.com/ - Textures for teapots
- https://benedikt-bitterli.me/resources/ - Material Test Ball