Skip to content

zhing2006/hala-pathtracer

Repository files navigation

hala-pathtracer

License MSRV

English | 中文 | 日本語 | 한국어

Introduction

hala-pathtracer is a toy-level path tracing renderer developed using hala-gfx, which utilizes Vulkan's hardware ray tracing for rendering. The program is designed to quickly develop and validate ideas about rendering using the efficiency of hardware ray tracing.

Image Title 2

Image Title 1

Features

  • Vulkan Ray Tracing: Utilizes hardware ray tracing acceleration.
  • Light Source Types:
    • IBL: Uses HDR images in exr file format.
    • Point Light: Specified position.
    • Directional Light: Specified direction.
    • Spotlight: Specified position, direction, and inner/outer angles.
    • Rectangular Area Light: Specified position, direction, width, and height.
    • Spherical Area Light: Specified position and radius.
  • Material Types
    • Diffuse: When roughness is 0, it's Lambert BRDF; when roughness is greater than 0, it's Oren Nayar BRDF.
    • Disney: Disney BxDF based on GGX.
  • Medium & Volume
    • Absorb: Absorbs light.
    • Scatter: Scatters light.
    • Emissive: Emits light.
  • File Formats
    • Scene: glTF files with custom extras properties.
    • Image: jpeg, png, pnm, tga, hdr, exr
  • Camera
    • Perspective Camera: Specified focal length and aperture.
  • Post-Processing

TODO List

  • Exposure Compensation

  • Orthographic Camera

  • Multiscatter GGX(with Approximate Energy Compensation)

    Image MS

Usage

Build with cargo

cargo build # or use "cargo build -r" to build the Release version

Make sure that you have the Rust programming environment and the cargo package manager installed on your system.

The assets directory in this repository only contains a simple test scene file. More scenes need to be downloaded separately. For more detailed usage, please see the Usage Documentation.

Gallery

Image 6

Image 5

Image 4

Image 3

Image 2

Image 1

Image 0

Contribution

Contributions of any kind are welcome, whether it's bug reporting or code contributions.

License

hala-pathtracer is open-sourced under the GNU General Public License v3.0.

Contact

If you have any questions or suggestions, please contact us by creating an issue.

References/Credits

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published