Skip to content

Gallery

A curated collection of renders from RayON's built-in scenes, showcasing the range of materials, lighting effects, and geometric complexity the renderer supports.


Cornell box — colour bleeding between red and green walls onto the ceiling and white floor spheres
Cornell Box — classic test scene. Coloured diffuse walls create colour bleeding on nearby surfaces. Soft shadow from an area light overhead.
Indoor scene with multiple reflective and diffuse spheres
Indoor Spheres — assorted dielectric, metallic, and diffuse spheres in an enclosed room with area lighting.
Scene with spheres arranged on a reflective floor
ISC Spheres — multi-material arrangement with strong inter-reflections between specular surfaces.
Golf ball displacement mapping — dimpled surface under directional light
Golf Ball — procedural displacement mapping creates the characteristic dimple pattern on a sphere. The BRDF captures specular highlights across the surface microstructure.

Wide view of diverse material spheres on a brushed-metal ground plane — 4K master render
4K Master Render — full default scene at 4K resolution. Glass, rough mirror, Lambertian, tinted metal, and light-emitting materials share the scene with SDF shapes in the background.
Anisotropic metals scene at 512 SPP — directional highlight streaks fully resolved
Anisotropic Metals — 512 SPP — directional highlight streaks fully resolved across all roughness and anisotropy levels. Rendered with the CUDA path tracer.

High-roughness metallic spheres showing warm specular highlights
Tinted Rough Mirrors — gold, copper, and steel preset tints. Roughness controls how blurry the reflections appear (0 = perfect mirror, 1 ≈ diffuse).
Alternate metallic render with different lighting angle
Metals — Alternate View — the same scene relit from a different angle. The highlight shape reveals the roughness distribution on each sphere.
Glass dielectric spheres with refractive caustics next to metallic surfaces
Dielectrics & Metals — glass spheres use Snell's law for refraction and Schlick's approximation for the reflection/transmission ratio at grazing angles.
Rough mirror with configurable roughness parameter
Rough Mirror Development Render — early validation render showing the fuzzy reflection model. The reflected image becomes progressively blurred as roughness increases from left to right.

Improved cosine-weighted Lambertian scattering
Cosine-weighted Lambertian — improved hemisphere sampling (see Sampling). Noise is concentrated in shadow rather than spread uniformly.
Plastic shading — diffuse base with specular highlight layer
Plastic Shading — two-layer model: a Lambertian base coat with a specular clearcoat layer on top. The highlight is view-dependent.

Normal visualisation mode — surfaces coloured by surface normal direction
Normal Visualisation — the ShowNormals material maps surface normals directly to RGB: R=X, G=Y, B=Z. Useful for debugging geometry orientation and smooth normals on mesh imports.
OBJ mesh loading test — low-poly model with triangulated faces
OBJ Mesh Loading — imported triangle mesh, rendered with smooth interpolated normals from the .obj file's vertex normal list.
Depth of field with bokeh blur
Depth of Field — aperture and focus distance are adjustable at runtime via ImGui sliders in interactive mode. The lens model is a thin lens approximation.
Interactive SDL2 window showing real-time accumulative path tracing at 100 Hz
Interactive Mode — SDL2 window at ~100 Hz with Dear ImGui overlaid. The sample counter and convergence indicator are visible in the top-right panel.

Anisotropic metals scene rendered at increasing sample counts. Every doubling halves Monte Carlo noise — error decays as \(\mathcal{O}(1/\sqrt{N})\). The anisotropic specular lobes are particularly sensitive to sample count.

4 samples per pixel — heavy noise across specular lobes
4 SPP — specular highlights are buried in noise; anisotropic streaks invisible.
16 samples per pixel — rough shapes visible
16 SPP — sphere shapes emerge; directional highlights faintly visible.
32 samples per pixel
32 SPP — anisotropic streaks begin to form; still noticeably noisy.
64 samples per pixel
64 SPP — usable quality; highlight directionality clear on low-roughness spheres.
128 samples per pixel — clean highlights
128 SPP — clean for most materials; high-anisotropy spheres still show slight graininess.
512 samples per pixel — near-converged
512 SPP — near-converged; anisotropic lobes fully resolved across all roughness levels.