meshoptimizer 1.2 is out! Featuring support for tangent generation, a significantly faster vertex decoder for Intel/AMD CPUs, several new smaller algorithms (cluster position compression, triangle filtering, clusterlod BVH) and more. GitHub stars and boosts appreciated!
github.com/zeux/meshopt...
Our latest dev/ai/nyc did not disappoint. Digital art pioneer @roberthodgin.bsky.social and design co-lead Pablo Honey sat down for an unfiltered conversation on creativity in the age of AI.
Couldn't make it to our NoHo Space? Watch the full conversation below. 🎬👇
Excited to share our new work at CVPR 2026: Learning Convex Decomposition via Feature Fields.
We introduce the first feedforward openworld model that generates high-quality convex decompositions for any 3D shapes in seconds, enabling faster simulation.
Project: research.nvidia.com/labs/sil/pro...
Adobe just released an Apache-2.0 licensed reference implementation of the OpenPBR Surface standard, extracted from their in-house Eclair renderer.
Neat trick: the reference implementation cross-compiles for C++, GLSL, Cuda, Metal, and Slang!
github.com/adobe/openpb...
Tech Company: At long last, we have created the Torment Nexus from classic sci-fi novel Don't Create The Torment Nexus.
FOSS nerds: the Torment Nexus cannot be ethical until it is Open Source
Hey All, I made a header only C++ library (MIT) where line of code inits, then you can start writing to pixels on the screen.
I call it thirteen.h, inspired by the simplicity of the 13h days.
Examples include a mandelbrot viewer and a playable mine sweeper game.
github.com/Atrix256/Thi...
📣 NEW! I’ve just released the BIGGEST and perhaps most creative project I’ve ever worked on!
“Searching for Birds” searchingforbirds.visualcinnamon.com 🐤
A project, an article, an exploration that dives into the data that connects humans with birds, by looking at how we search for birds.
While working on spark.js, I realized that common normal map compression formats weren’t supported in popular frameworks like three.js. I added the necessary support to three.js and wrote an article to shed some light on the topic:
ludicon.com/castano/blog...#webgpu#webgl#threejs#sparkjs
Hey I made a new thing - it's called Gradientspace Graph, and it's a C#-based NodeGraph Programming system that also supports inline C# and Python "Code Nodes". The NodeGraph Engine is MIT Open-Source and the Editor is Free. More details here: www.gradientspace.com/tutorials/20...
My "No Graphics API" blog post is live! Please repost :)
www.sebastianaaltonen.com/blog/no-grap...
I spend 1.5 years doing this. Full rewrite last summer and another partial rewrite last month. As Hemingway said: "First draft of everything is always shit".
A modernized Utah Teapot model with interior! You can see/customize/download it, along with historical versions on the official teapot page:
graphics.cs.utah.edu/teapot/
MacPaint is a key step in the history of UX (and visual design!)
I built a super simple way to use MacPaint 1.0 in workshops and lectures. Try it: juliendorra.com/macintosh/
Sharing a little pen plotter calibration tool made with Claude laserpilot.github.io/Pen-Plotter-...
Code on GitHub. Meant to let me figure out just how close and fine I can get certain pen tips for fine drawings. (Cc @golan.bsky.social if this is useful for any students)
Happy to announce: ReSWD. Sliced Wasserstein Distances are quite powerful, but they perform a Monte Carlo (MC) integration (over random directions). During an optimization this can lead to noisy gradients due to variance.
Project page: reservoirswd.github.io
wave_tracer 0.1 released
wavetracer.dev
wave_tracer combines path tracing and wave optics in a novel way, for practical general-purpose wave simulations across a variety of EM modalities and applications.
meshoptimizer v0.25 is out! Featuring new simplification function that optimizes positions and attributes for appearance, experimental permissive mode to simplify faceted regions with selective seam preservation, regularization option for improved tessellation quality and deformation, multiple ...
Choosing the right colormap is tricky, too often, they hide subtle details or distort the data. Our new method transforms colormaps to boost local contrast and reveal just noticeable differences, all while keeping the visualization perceptually accurate and accessible.
dl.acm.org/doi/10.1145/...
Methods like NeRF and Gaussian Splats model the world as radioactive fog, rendered using alpha blending. This produces great results.. but are volumes the only way to get there?🤔 Our new SIGGRAPH'25 paper directly reconstructs surfaces without heuristics or regularizers.
One of my coworkers, @tearsofjake.bsky.social, has a talk at SIGGRAPH this year about this really cool steerable perlin noise technique that was used on Moana 2. He's just posted some handy reference implementations for Houdini, Unity, Godot, and Blender; check it out!
github.com/jakericedesi...
Here are the visionOS resources you've been looking for. Well some of them anyway. Just added @vrhermit.com's Getting Started With Widgets.
github.com/timmitra/vis...
We present a simplified, p5.js version of the vocal tract synthesizer from Neil Thapen's popular Pink Trombone, adapted for use in a creative coding assignment concerned with interaction design and absurd puppeteering.
Interactive: editor.p5js.org/golan/sketch...
Writeup: github.com/golanlevin/6...
I need (want) a 500k CNC machine but the economics of a hobby owner simply don’t work. Need something like a makerspace where the membership signup fee is like 50k.
Our computer vision textbook is now available for free online here:
visionbook.mit.edu
We are working on adding some interactive components like search and (beta) integration with LLMs.
Hope this is useful and feel free to submit Github issues to help us improve the text!
Mesh intersections is hard ! Three years of agonizing pain summarized in my article that just got accepted to ACM Transactions on Graphics
dl.acm.org/doi/10.1145/...
The implementation and the expansion-based arithmetic kernel are available in geogram: github.com/BrunoLevy/ge...
⭐ Image editing without paired data, delivering on the promise of RGB<->X! Edit in Intrinsic space, get back your image with the desired modification!
The method is quite fun too, conditional token optimization and noise inversion.
Editing appearance, geometry, lighting with precision is easy with a 3D scene representation. But it's so much more difficult with just an image or photograph.
Enter IntrinsicEdit: Precise generative image manipulation in intrinsic space (SIGGRAPH 2025)!
intrinsic-edit.github.io
Gave up on trying to sell my Unreal Engine plugin, it's free now if you happen to want to 3D-paint textures in the Editor, or make things out of little grids-of-shapes: www.fab.com/listings/058...
Feeling nostalgic for vacuum fluorescent displays of my youth, I've added p5.js implementations of 7, 14, and 16-segment procedural typefaces to my archive of p5-single-line-font-resources: github.com/golanlevin/p...
Our #SGP25 work studies a simple and effective way to uniformly sample implicit surfaces by casting rays. (1/9)
“Uniform Sampling of Surfaces by Casting Rays” w/ @abhishekmadan.bsky.social@nmwsharp.bsky.social and Alec Jacobson
Selena's #Siggraph25 work found a simple, nearly one-line change that greatly eases neural field optimization for a wide variety of existing representations.
“Stochastic Preconditioning for Neural Field Optimization” by Selena Ling, Merlin Nimier-David, Alec Jacobson, & me.
Here is a new blog post of mine, where I dive deep into the theory and math behind ReSTIR GI.
Big thanks to Markus Kettunen for verifying the theory, reviewing the article, and catching a key detail I had missed.
agraphicsguynotes.com/posts/unders...
Please share widely:
The EPFL Geometry Computing Laboratory is launching its third call for an Artist / Designer Residency for the fall of 2025!
More information on how to apply here:
www.epfl.ch/labs/gcm/ope...#design#art#residency#research
A thread of thoughts on radiance fields, from my keynote at 3DV:
Radiance fields have had 3 distinct generations. First was NeRF: just posenc and a tiny MLP. This was slow to train but worked really well, and it was unusually compressed --- The NeRF was smaller than the images.
Really love Daniel’s deep dives. Hits all the major notes: clearly written problem statement, excellent visualizations, and accessible solutions in code.
Time for another long blog post... and today it's all about how we handle the temporal aspect of animation data. And more specifically, how to approach things from a signal processing perspective, covering up-sampling, down-sampling, and everything in-between.
theorangeduck.com/page/filteri...
I’ve been collecting bits of hardwood (mostly neighborhood fruit trees that folks trim) and so finally i’m doing something with it. i probably have enough material for 4000 tiny spoons