Nelarius
@nelarius.bsky.social
25 followers 37 following 52 posts
Maps @ Mapbox 🗺️ | Ray tracing ✨ | Voxels ◽️ My rendering notes: https://nelari.us/ GitHub: https://github.com/nelarius
Posts Media Videos Starter Packs
Added a quick and dirty VOX importer to my #voxel project. Since I recently played through Monument Valley, I checked out Ephtracy's Monument Valley files first 🏛️
The planetary sunrises and sunsets you get with the Unreal sky model are probably overkill for the #voxel renderer, but makes for nice #screenshotsaturday material 🪐
The new model gives the transmittance at any point in the sky, so the sun turns convincingly red as it approaches the horizon🌗
Integrated the Unreal Engine sky model into the #voxel editor. The sunsets didn't look right in the Hosek-Wilkie model (left). With the new sky model, sunsets are now exactly how I wanted them 🌅

Pardon the fireflies, I need to get proper denoising set up ✨

#raytracing
At a quick glance I thought you had gone down some kind of hardcore atmospheric rendering rabbit hole 😁
The sky is an implementation of Hillaire's model: sebh.github.io/publications...

The atmosphere is rendered into a small 2D angular coordinate lookup table using raymarching integrators from section 3. The LUT is small enough that it can be updated in real-time on the CPU.
sebh.github.io
The images show a 2D look-up table of scattered light.

The sun position and camera altitude can be played around with in real time. But zooming to space and back just looks so good 😄
Good morning from an altitude of 40 km!

Putting off other tasks in the #voxel project to work on a much nicer ray-marched sky for the ray tracer.

#screenshotsaturday #raymarching #raytracing
One unexpected benefit of the color palette is storing just an offset index in the voxel. Voxels shrank from 4 bytes to a single byte.

Added a simple SIMD optimization in my RLE algorithm, yielding a 6x #voxel chunk compression speed up 🏎️

#screenshotsaturday
Mandatory view of the scene in the #raytracing mode ✨
Adding an editable color palette to the #voxel editor made it feel more like a real tool. I was finally able to actually make something in it 🤓 Perfect playground for making scenes to test #raytracing algorithms!

#indiedev
Experimenting with a face extrusion and retraction brush in my toy #voxel editor. Threw a bit of #raytracing in there while I was at it ✨
Reposted by Nelarius
Worth watching presentation, also provides some background info on how ReSTIR came to be and where it is heading: "ReSTIR: Traveling the Path of Reuse" www.youtube.com/watch?v=MRg9...
I3D 2025 Chris Wyman's Keynote "ReSTIR: Traveling the Path of Reuse"
YouTube video by I3D Symposium
www.youtube.com
Realized that my bookshelf contains a #programming story 😄
More sliders in the #voxel editor UI! Added okhsl sliders alongside the regular hsl ones. The okhsl color space is much more uniform along its axes (look at the lightness slider).

Björn Ottoson has a great write-up about the colorspace here: bottosson.github.io/posts/colorp...
Basics of the new #voxel UI layout implemented. Apple's RGB sliders are really nice and decided to try implementing those.

#cprogramming
Tried Claude for creating interactive mockups of a #voxel editor UI and color scheme. Pretty happy with how quickly I was able to see and play around with some ideas I had.

Now for the fun part, implementing it all by hand in C 🙂

#claude #anthropic
Went down a rabbit hole comparing my monolithic ray tracer to my wavefront implementation and trying to find performance improvements. Still many things I could do to improve wavefront performance, but sharing notes on progress so far.

nelari.us/post/wavefro...

#raytracing #rendering
Looks like knitted wool 😁

Do you happen to have a write-up about your renderer somewhere? You post all kinds of cool experimental renders, would be cool to learn more about it 🙂
A different perspective of the cornell box ✨

#voxel #raytracing #rendering
Yep, perhaps I should make it impossible to select pure primary colors.

Glad you found a better uintToFloat! And just to be clear, the code is not mine, it belongs to Jakub Boksansky 🙂 It's a great reference that I've also lifted many good code snippets from.
Nice, thanks for the tip!

The cornell box is actually a bit of a pathological scene. With red, white, and green walls, the probability was always one and it is the same as no RR.

But in other scenes p = max(albedo) is definitely an improvement! I'll have to see if I can tweak this a bit 🙂
Added Russian Roulette implementation to my #voxel renderer. Didn't really appreciate before -- it doesn't make the image better, it makes it quicker to render. Left/right: vanilla and russian roulette at 16 spp. Speedup with roulette is 1.5x.

Impl from github.com/boksajak/ref...

#raytracing
Plugged the two-sample estimator into my #voxel project and sampled the sun disk using the cone sampling distribution from a previous post. It yields much better results at 64 spp than brute force method (left image).

Looks close enough to make it a new baseline for the reference renderer 🤞