Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

jeweg/vulkan-rays

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

53 Commits

Repository files navigation

Vulkan-Rays

Progressive path tracing in Vulkan compute.

The Vulkan parts implement a trivial graphics pipeline that just displays a float image. A compute shader paints the image by path tracing a virtual scene.

The path tracing implementation loosely follows Peter Shirley's Raytracing in One Weekend series (at the moment less loosely) and Alan Wolfe's tutorial series. So far, it has

  • Probabilistic path tracing with diffusion, reflection, and transmission:
    • R2 low discrepancy sequence for sub-pixel variation of the primary rays (i.e., anti-aliasing)
    • Randomly chosen diffuse, specular, transmissive rays
    • Russian roulette and absorption-threshold-based ray termination
  • Primitives: spheres, parametric checkered quads (because that seems mandatory for raytracer test images)
  • Rendering into sRGB target for proper gamma correction
  • Reinhard tone mapping and ACES filmic tone mapping
  • Simple upright orbit camera

Libraries used: glm, GLFW, Dear ImGui, Vulkan Memory Allocator

About

Real-time path tracing using Vulkan compute.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /