Skip to content

Mourtz/Photorealistic-Rendering-using-OpenCL

Repository files navigation

header

Build Status

Controls

Escape - Exit
Space - Reset
WASDFR - Translate Camera
G - Increase Aperture Diameter
H - Decrease Aperture Diameter
T - Increase Focal Distance
Y - Decrease Focal Distance
Arrows - Yaw/Pitch
Prtsc - Export

-width    "{integer}: window's width"
-height   "{integer}: window's height"
-scene    "{string}: filepath of the scene you want to render"
-hdr      "{string}: filepath of the hdr you want to use"
-alpha    "{void}: add this flag if you want to enable alpha blending"
-encoder  "{integer}: { 0: ".png", 1: ".hdr" }"

hdrihaven is a great site for downloading free hi-res HDR images.

Features

  • SAH BVH
  • Volumetric pathtracing (homogeneous, exponential medium)
  • Multiple Importance Sampling (MIS)
  • SDF Raymarching
  • Thin lens camera
  • Image-based lighting
  • Alpha blending
  • Media
    • Homogeneous
    • Exponential
  • Phase functions
    • Isotropic
    • Henyey-Greenstein
    • Rayleigh
  • Materials
    • Lambertian BRDF
    • Burley BRDF
    • Rough Conductor
    • Rough Dielectric + Absorption
    • Microfacet
      • GGX
      • Beckmann
      • Phong
    • Smooth/Flat shading

Possible Future work

  • Quasi Monte Carlo
  • Disney's principled, layered BRDF
  • Volumetric pathtracing (heterogeneous medium)
  • Volumetric pathtracing (SDF density map)
  • Photon Mapping
  • Bi-Directional PT
  • MLT
  • Sheen BRDF
  • Blinn Phong Microfacet BRDF
  • Oren-Nayar BRDF
  • Denoiser
  • LBVH using spatial Morton codes
  • Phong Tessellation

How To Build

Windows

git clone https://github.com/microsoft/vcpkg.git
move vcpkg C:/dev
cd C:/dev/vcpkg && bootstrap-vcpkg.bat

Linux

git clone https://github.com/microsoft/vcpkg.git
mv vcpkg /home/user
cd /home/user/vcpkg && ./bootstrap-vcpkg.sh

Credits

tunabrain - Benedikt Bitterli
sebadorn - Sebastian Dorn
mmp - Matt Pharr

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published