Valinor
Vulkan Path Tracer
Valinor is a GPU-accelerated path tracer built with Vulkan, designed as both a learning platform and research tool. Originally created to explore Vulkan programming and real-time ray tracing techniques, it has evolved into a practical sandbox for my PhD research in computer graphics.
Current status update as of July 2025
A lot of features are currently broken as I transition from cleaning up the Vulkan calls I have everywhere and hide all the graphics API calls behind a Render API, thus allowing me to support alternative APIs. I hope to continue this effort after the beginning of September.
Key Features
Mitsuba Scene Compatibility
Valinor can load Mitsuba scene files, enabling direct validation against Mitsuba’s reference implementation to ensure rendering correctness.


Path Visualization Debugging
An integrated debugging system that visualizes light transport paths, invaluable for tracking down issues in light transport algorithms and appearance modeling.

Specification
Supported Geometry
- OBJ Models — Standard mesh loading
- Rectangle — Converted to 2 triangles
- Cube — Converted to 12 triangles
Spheres are converted into triangle meshes when used.
Materials
- Diffuse
- Smooth Conductor
- Smooth Dielectric
- Rough Conductor
- Rough Dielectric
While spectral rendering is not supported yet, spectral data can be loaded and coverted to RGB, either from SPD files or from direct definition of the data in the scene description.




Lighting
- Area Lights — Emissive geometry for realistic soft shadows
- Constant Environment Maps — Uniform ambient lighting
- Image-Based Lighting (IBL) — HDR environment maps for realistic reflections
Integrators
- PtUni — Brute-force random walk path tracer (no emission sampling)
- PtNEE — Path tracer with Next Event Estimation for direct lighting
- PtMIS — Multiple Importance Sampling combining NEE and BSDF sampling
- PtRIS — Resampled Importance Sampling for NEE at each vertex
- PtWRS — ReSTIR Direct Illumination at primary vertex, PtMIS for subsequent vertices ( Spatial and temporal reuse WIP )
Gallery

Miscellaneous Info
The renderer is named after a place described in the Silmarillion, the so-called “prequel” to Lord of the Rings. Valinor is the land of the Valar. The trees in the logo represent Telperion and Laurelin, the two trees which gave light to Valinor before they were destroyed by Morgoth and Ungoliant.