41554 blogs · [ { "id": "01a087ad-81b9-73af-a209-95a6a97886cc", "title": "Voxel Raytracer Devlog", "url": "https://nelari.us/post/voxel-ray-tracing/", "published_at": "2026-06-28T17:19:07+00:00" }, { "id": "01a087ad-81b9-73af-a209-95a6a99a758c", "title": "Projects", "url": "https://nelari.us/projects/", "published_at": "2025-09-27T00:00:00+00:00" }, { "id": "01a087ad-81b9-73af-a209-95a6aa7c8286", "title": "Experiments with wavefront ray tracing on Apple silicon", "url": "https://nelari.us/post/wavefront-ray-tracing/", "published_at": "2025-06-12T05:30:16+00:00" }, { "id": "01a087ad-81b9-73af-a209-95a6ab0b6d68", "title": "Pathtracing tidbits: integrating animated blue noise", "url": "https://nelari.us/post/animated-blue-noise/", "published_at": "2025-01-12T12:46:00+00:00" }, { "id": "01a087ad-81b9-73af-a209-95a6ab94b7da", "title": "Embed data into C byte arrays at build time", "url": "https://nelari.us/post/embedding_data_into_byte_arrays/", "published_at": "2025-01-04T14:11:00+00:00" }, { "id": "01a087ad-81b9-73af-a209-95a6ac13bdeb", "title": "A quick look at Apple Silicon's hardware accelerated ray tracing performance", "url": "https://nelari.us/post/metal-raytracing-performance/", "published_at": "2024-09-01T04:22:51+00:00" }, { "id": "01a087ad-81b9-73af-a209-95a6ac4e571d", "title": "Notes on C++ initialization", "url": "https://nelari.us/post/cpp_initialization_notes/", "published_at": "2023-11-16T06:03:00+00:00" }, { "id": "01a087ad-81b9-73af-a209-95a6ace7bc9e", "title": "GPU Pathtracer Devlog", "url": "https://nelari.us/post/pathtracer_devlog/", "published_at": "2023-10-30T15:19:21+00:00" }, { "id": "01a087ad-81b9-73af-a209-95a6ad7dc1a8", "title": "Weekend raytracing with wgpu, part 2", "url": "https://nelari.us/post/weekend_raytracing_with_wgpu_2/", "published_at": "2023-05-27T18:47:16+00:00" }, { "id": "01a087ad-81b9-73af-a209-95a6adf67ddf", "title": "Weekend raytracing with wgpu, part 1", "url": "https://nelari.us/post/weekend_raytracing_with_wgpu_1/", "published_at": "2023-05-07T03:43:00+00:00" }, { "id": "01a087ad-81b9-73af-a209-95a6ae97f3fb", "title": "Using inverse transform sampling to generate random numbers in a given distribution", "url": "https://nelari.us/post/inverse_transform_sampling/", "published_at": "2023-05-05T11:00:00+00:00" }, { "id": "01a087ad-81b9-73af-a209-95a6aed50f17", "title": "Quick and dirty image dithering", "url": "https://nelari.us/post/quick_and_dirty_dithering/", "published_at": "2022-03-06T08:58:00+00:00" }, { "id": "01a087ad-81b9-73af-a209-95a6afb49bf2", "title": "Generating 3d buildings using node graphs", "url": "https://nelari.us/post/shape_grammar_intro/", "published_at": "2020-05-01T05:00:00+00:00" }, { "id": "01a087ad-81b9-73af-a209-95a6b029e2bc", "title": "Writing a small ray tracer in Rust and Zig", "url": "https://nelari.us/post/raytracer_with_rust_and_zig/", "published_at": "2019-06-27T18:00:00+00:00" }, { "id": "01a087ad-81b9-73af-a209-95a6b036d68c", "title": "imnodes: writing an immediate mode node editor library", "url": "https://nelari.us/post/imnodes/", "published_at": "2019-03-24T06:22:27+00:00" }, { "id": "01a087ad-81b9-73af-a209-95a6b0d39854", "title": "About me", "url": "https://nelari.us/about/", "published_at": "2018-09-18T00:00:00+00:00" }, { "id": "01a087ad-81b9-73af-a209-95a6b195a309", "title": "Embedding Wren in C++, part 2", "url": "https://nelari.us/post/wren-embedding-2/", "published_at": "2016-05-06T00:00:00+00:00" }, { "id": "01a087ad-81b9-73af-a209-95a6b263945b", "title": "Embedding Wren in C++, part 1", "url": "https://nelari.us/post/wren-embedding-1/", "published_at": "2016-05-05T00:00:00+00:00" }, { "id": "01a087ad-81b9-73af-a209-95a6b322a8ff", "title": "Placing an arbitrary number of function calls into a function argument list using templates", "url": "https://nelari.us/post/template-function-args/", "published_at": "2015-08-31T00:00:00+00:00" } ] posts Claim your blog
Back to nelari.us
Blog · corpus.blog/blogs/nelari.us/posts

nelari.us

nelari.us

2026

2025

2024

2023

2022

2020

2019

2018

2016

2015