Nelarius's Avatar

Nelarius

@nelarius.bsky.social

Maps @ Mapbox πŸ—ΊοΈ | Ray tracing ✨ | Voxels ◽️ My rendering notes: https://nelari.us/ GitHub: https://github.com/nelarius

25 Followers  |  37 Following  |  52 Posts  |  Joined: 23.01.2025  |  1.7832

Latest posts by nelarius.bsky.social on Bluesky

Post image

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 πŸ›οΈ

16.10.2025 05:18 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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 πŸͺ

04.10.2025 15:42 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

The new model gives the transmittance at any point in the sky, so the sun turns convincingly red as it approaches the horizonπŸŒ—

01.10.2025 09:22 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

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

01.10.2025 04:59 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

At a quick glance I thought you had gone down some kind of hardcore atmospheric rendering rabbit hole 😁

24.09.2025 15:41 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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.

20.09.2025 12:20 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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 πŸ˜„

20.09.2025 12:16 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

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

20.09.2025 12:13 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image Post image

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

13.09.2025 14:03 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Mandatory view of the scene in the #raytracing mode ✨

05.09.2025 05:18 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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

05.09.2025 05:17 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

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 ✨

04.08.2025 19:28 β€” πŸ‘ 5    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
I3D 2025 Chris Wyman's Keynote "ReSTIR: Traveling the Path of Reuse"
YouTube video by I3D Symposium I3D 2025 Chris Wyman's Keynote "ReSTIR: Traveling the Path of Reuse"

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...

31.07.2025 12:20 β€” πŸ‘ 44    πŸ” 11    πŸ’¬ 0    πŸ“Œ 1
Post image

Realized that my bookshelf contains a #programming story πŸ˜„

26.07.2025 14:27 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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...

12.07.2025 06:53 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Basics of the new #voxel UI layout implemented. Apple's RGB sliders are really nice and decided to try implementing those.

#cprogramming

09.07.2025 05:09 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

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

06.07.2025 16:02 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

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

01.07.2025 06:06 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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 πŸ™‚

23.06.2025 16:09 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

A different perspective of the cornell box ✨

#voxel #raytracing #rendering

14.06.2025 11:43 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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.

13.06.2025 07:38 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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 πŸ™‚

13.06.2025 04:26 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image Post image

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

12.06.2025 17:45 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image Post image

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 🀞

01.06.2025 06:05 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

It appears that one way of implementing "next event estimation" is by just doing multiple importance sampling using two rays instead of one each iteration, with one ray always sampling a light. So instead of the blog post's estimator, using this estimator.

01.06.2025 06:00 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Demystifying multiple importance sampling

I've been trying to wrap my head around "next event estimation" in #raytracing. What exactly is it and how does it differ from the multiple importance sampling technique, presented e.g. here? lisyarus.github.io/blog/posts/m...

01.06.2025 05:58 β€” πŸ‘ 34    πŸ” 5    πŸ’¬ 1    πŸ“Œ 0
Post image

The adjustable sun disk radius is added to the cleaned-up C sky model implementation.

28.05.2025 19:45 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
GPU Pathtracer Devlog This is where I write about the stuff that I've been working on.

Reused the sky and sun integration from my earlier WebGPU renderer: nelari.us/post/pathtra...

The sun disk values are "somewhat in the ballpark", as only a coarse set of sun disk values are interpolated from the original implementation for simplicity πŸ”­

28.05.2025 19:39 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image Post image

Continuing with #raytracing in my #voxel project. Integrated the Hosek-Wilkie sky model, with an adjustable solar radius.

A really large sun disk makes it possible to test what the direct sun light contribution looks like in a simple brute-force renderer.

#cprogramming

28.05.2025 19:30 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

@nelarius is following 19 prominent accounts