Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ashpil/moonshine
A general purpose ray traced renderer built with Zig + Vulkan
https://github.com/ashpil/moonshine
raytracing vulkan zig
Last synced: about 14 hours ago
JSON representation
A general purpose ray traced renderer built with Zig + Vulkan
- Host: GitHub
- URL: https://github.com/ashpil/moonshine
- Owner: ashpil
- License: agpl-3.0
- Created: 2021-06-21T02:48:39.000Z (over 3 years ago)
- Default Branch: trunk
- Last Pushed: 2024-10-17T04:50:33.000Z (4 months ago)
- Last Synced: 2024-10-19T06:19:55.057Z (4 months ago)
- Topics: raytracing, vulkan, zig
- Language: Zig
- Homepage:
- Size: 25 MB
- Stars: 114
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
- awesome-zig - ashpil/moonshine
- awesome-zig - moonshine🗒️A general purpose ray traced renderer built with Zig + Vulkan
README
# Moonshine
**A spectral path tracer built with Zig + Vulkan**
[](https://blendswap.com/blend/12584)
*Salle de bain by nacimus, rendered with Moonshine*### Features
* Binaries
* offline -- a headless offline renderer
* online -- a real-time windowed renderer
* hydra -- a hydra render delegate
* Light Transport
* Full spectral path tracing
* Direct light sampling with multiple importance sampling for all lights and materials
* Lights
* 360° environment maps
* Sampled via [hierarchical warping](https://pharr.org/matt/blog/2019/06/05/visualizing-env-light-warpings)
* Emissive meshes
* Sampled according to power via 1D [hierarchical warping](https://pharr.org/matt/blog/2019/06/05/visualizing-env-light-warpings)
* Materials
* Standard PBR with metallic + roughness
* Mirror
* Glass with dispersion
* Homogeneous volumes### Dependencies
#### Build
* zig (see version [in CI](.github/workflows/build.yml))
* DirectXShaderCompiler
* For the online (real-time) renderer:
* For Linux (Ubuntu, similar on others):
* For Wayland: `wayland-protocols` `libwayland-dev` `libxkbcommon-dev`
* For X11: `libxcursor-dev` `libxrandr-dev` `libxinerama-dev` `libxi-dev`
#### Run
* A GPU supporting Vulkan ray tracing### License
This project is licensed under the AGPL.