Sign in

mcapousek.bsky.social

@mcapousek.bsky.social
7 followers 46 following 0 posts
PostsRepliesMedia
Reposted by @mcapousek.bsky.social
Raph Levien @raphlinus.bsky.social · 10/08/2026
I just posted a blog post on my hyperbezier curve: linebender.org/blog/hyperbe... I've actually been working on this for years, and only recently figured out a solution to the parameter mapping problem. I think this curve is potentially better than cubic Béziers for 2D vector graphic design.
A plot of two roughly S-shaped curves. In gray is a cubic Bézier, and the Bézier control points are shown. In blue is an example of the hyperbezier, with roughly similar shape but much smoother curvature variation. There is also a "curvature comb" in green.
212325 0
Reposted by @mcapousek.bsky.social
Eric Lengyel @ericlengyel.bsky.social · 25/07/2026
The slides from my talks at the Better Software Conference are now available here: terathon.com/lengyel/#spe...
084 0
Reposted by @mcapousek.bsky.social
Stephen Hill @selfshadow.com · 27/07/2026
SIGGRAPH 2026 links: blog.selfshadow.com/2026/07/26/s.... I'll continue to add to the list as more things show up online.
blog.selfshadow.com
SIGGRAPH 2026 Links
05225 0
Reposted by @mcapousek.bsky.social
Jake Birkett - Veteran Indie @greyalien.bsky.social · 27/07/2026
information:
1335 0
Reposted by @mcapousek.bsky.social
Xiana Carrera @xianacarrera.bsky.social · 18/06/2026
1/6 Excited to share our #SIGGRAPH2026 paper, Dual Contouring of Signed Distance Data! We propose a new method for reconstructing sharp meshes from discrete samples of signed distance functions (SDFs) that does not require gradients. Project page: gatc.cs.columbia.edu/projects/dua...
410626 0
Reposted by @mcapousek.bsky.social
Inigo Quilez @iquilezles.bsky.social · 19/06/2026
A live session coding a procedural tower of bricks. Turned out ugly, I fixed it a bit in shadertoy after I closed the recording: youtu.be/DAMiS2PGTEE
youtu.be
Coding a brick tower
YouTube video by Inigo Quilez
312623 0
Reposted by @mcapousek.bsky.social
Inigo Quilez @iquilezles.bsky.social · 27/06/2026
I made a video about the smooth-maximum function, I hope you like it! youtu.be/6Qb6QtC6QMs
youtu.be
A function you cannot do without
YouTube video by Inigo Quilez
1541492 0
Reposted by @mcapousek.bsky.social
Pekka Väänänen @pekkavaa.bsky.social · 29/06/2026
A new article: Revisiting Yliluoma’s ordered dither algorithm 30fps.net/pages/revisi... It's a deep dive to a single "color selection algorithm" used for ordered dithering. Nothing groundbreaking but I did uncover a neat simplified version that works OK. It's technical but with visual examples.
A graphic showing a side-by-side comparison of three versions of the same image, each processed with a different dithering algorithm.
The image consists of three vertical panels arranged horizontally, with a text summary located at the bottom. Each panel features a stylized bird from the Big Buck Bunny animated short. A yellow beak and large eyes, sitting on a branch. A blue-to-pink gradient sky and green leaves in the background.

The three panels:

Yliluoma's 2nd dithering algorithm: Dithered result with the most noise.
EMA-Constant: Significantly smoother result.
Knoll (10% strength): Smooth result similar to EMA-Constant.

Text at the bottom:
Summary: This article discusses Yliiluoma's 2011 ordered dither algorithm (left), explains its internals in greater detail than other treatments, presents new simplified variants (middle), and compares the results to a state-of-the-art algorithm (right). Source code is included at the end.
A 2x2 grid comparing four versions of the same pixel-art scene from the 1999 Chrono Cross video game: three characters in a detailed interior room with curtains and windows. Each version uses a different dithering technique.

The images are labeled (top-left to bottom-right): "EMA-Exact", "EMA-Constant", "Knoll (20% strength)", and "Knoll (10% strength)".
22612 0
Reposted by @mcapousek.bsky.social
Scuff3D Rook @scuff3drook.bsky.social · 28/06/2026
*tap tap* Is this thing on? www.youtube.com/watch?v=B9bz... rookandpossum.com/posts/scanli... I made a thing! I suspect I'll be posting to an empty room like a madman, but for now, I'm going to make a habit to start posting things here when I post videos/blogs/papers.
youtube.com
The Scanline Sweeper: A Glyph Rendering Algorithm
YouTube video by Rook and Possum
68520 0
Reposted by @mcapousek.bsky.social
Pekka Väänänen @pekkavaa.bsky.social · 01/06/2026
A new article on my website about a small thing that has bothered me for a long time: Should you normalize RGB values by 255 or 256? 30fps.net/pages/255-vs...
A number line where 3-bit integers in the range [0..7] being mapped to real numbers with two approaches: the standard (top) and alternative (bottom).

On the X-axis we’ve got a number line and the locations of brown circles on it represent the decoded floating-point values. The numbers inside are the integer inputs. Each integer has arrows pointing to it; these show a range of floating-point values that round to it. I’ll call these ranges “bins” in the rest of this article.
47118 0
Reposted by @mcapousek.bsky.social
Red Blob Games @redblobgames.com · 26/05/2026
One advantage of having web pages instead of academic papers is that I can keep improving them. Today I added drag handles to the cone/sector section of www.redblobgames.com/grids/circle... You can now adjust these visually instead of using the sliders. But the sliders still work too.
Before: adjust cone size by using slidersAfter: adjust cone size either with sliders or by moving the drag handle
1554 0
Reposted by @mcapousek.bsky.social
Boricuabc2 @boricuabc2.bsky.social · 07/04/2026
Putin - destroys Russia cause of his ego BIBI - Destroys Israel cause of his ego Trump - Destroys US cause of his ego, ARE YOU SEEING THE FUCKING PATTERN
1673430847 0
Reposted by @mcapousek.bsky.social
Rune Skovbo Johansen @runevision.bsky.social · 30/03/2026
My erosion filter is out! Video, blog post, and shader source. It emulates erosion without simulation, so it's fast, GPU friendly, and trivial to generate in chunks. Explainer video: www.youtube.com/watch?v=r4V2... Companion blog post: blog.runevision.com/2026/03/fast... #ProcGen #vfx #GameDev
17557169 0
Reposted by @mcapousek.bsky.social
Jeremy Laumon @jeremy.laumon.name · 29/03/2026
Woh I had no idea the numbers could be so high
082 0
Reposted by @mcapousek.bsky.social
Red Blob Games @redblobgames.com · 22/02/2026
I've written up my understanding of SDF and MSDF fonts, and how to use them with msdfgen+webgl: www.redblobgames.com/articles/sdf... (I'll post it on my blog soon too)
Screenshot of five different styles of rendering SDF (signed distance field) fonts
09121 0
Reposted by @mcapousek.bsky.social
Ignacio Castano @icastano.bsky.social · 19/02/2026
Runtime mipmap generation can reduce texture transmission by 25%, with no loss of quality. Real-time doesn’t mean compromises: the same algorithms used offline can run efficiently on the GPU. Learn about the spark.js implementation here: www.ludicon.com/castano/blog...
ludicon.com
Runtime Mipmap Generation
One of the advantages of runtime texture compression is that mipmaps can also be computed at runtime and do not need to be transmitted. In contrast, offline codecs must precompute mipmaps so they can ...
2134 0
Reposted by @mcapousek.bsky.social
Jendrik Illner @jendrikillner.bsky.social · 17/02/2026
Graphics Programming weekly - Issue 428 - February 15th, 2026 www.jendrikillner.com/post/graphic...
05020 0
Reposted by @mcapousek.bsky.social
Fabien Sanglard @fabinou.bsky.social · 15/02/2026
How Michael Abrash doubled Quake framerate: fabiensanglard.net/quake_asm_op...
fabiensanglard.net
How Michael Abrash doubled Quake framerate
512231 0
Reposted by @mcapousek.bsky.social
Nathan Kalman-Lamb @nkalamb.bsky.social · 07/02/2026
ICE told nurses this Minneapolis man “purposefully ran headfirst into a brick wall.” What actually happened is that they pulled him from a car, beat him so viciously with a steel baton that he had 8 skull fractures, 5 life-threatening brain hemorrhages, and couldn’t remember he had a daughter.
MINNEAPOLIS (AP) — Alberto Castañeda Mondragón says his memory was so jumbled after a beating by immigration officers that he initially could not remember he had a daughter and still struggles to recall treasured moments like the night he taught her to dance.

But the violence he endured last month in Minnesota while being detained is seared into his battered brain.

He remembers Immigration and Customs Enforcement agents pulling him from a friend’s car on Jan. 8 outside a St. Paul shopping center and throwing him to the ground, handcuffing him, then punching him and striking his head with a steel baton. He remembers being dragged into an SUV and taken to a detention facility, where he said he was beaten again.

He also remembers the emergency room and the intense pain from eight skull fractures and five life-threatening brain hemorrhages.
478177199051 0
Reposted by @mcapousek.bsky.social
Inigo Quilez @iquilezles.bsky.social · 01/02/2026
I've found this cute approximation for arctan(x). I'm not suggesting you should use it, all I'm saying is it's cute.
1866 0
Reposted by @mcapousek.bsky.social
LaurieWired @lauriewired.bsky.social · 25/12/2025
Why do programmers get confused around the holidays? OCT 31 = DEC 25
49413 0
Reposted by @mcapousek.bsky.social
Tuan Kuranes @tuankuranes.eurosky.social · 15/05/2025
Axis-Normalized Ray-Box Intersection "By transforming the ray we eliminate the need for one third of the traditional bounding-slab tests and achieve a speed enhancement of approximately 13.8% or 10.9%" graphics.tu-bs.de/publications...
Left. The dominant axis is x.
We first translate the ray along its direction vector such that the
transformed ray’s origin o coincides with the subspace spanned by
the other, non-dominant axes (only y in this 2D-example). Scaling
the direction vector by 1/dx the x-component of the transformed
ray’s direction d becomes 1. Now the intersection ray parameter
with the near and far plane along the x-axis directly corresponds
to the bounding box coordinates bminX and bmaxX without any further computations required
1306 0
Reposted by @mcapousek.bsky.social
Jakub Boksansky @boksajak.bsky.social · 25/11/2025
This is a great article about ReGIR / World-Space ReSTIR with nice improvements by Tom Clabault: tomclabault.github.io/blog/2025/re...
tomclabault.github.io
ReGIR - An advanced implementation for many-lights offline rendering | Tom Clabault
Tom Clabault's website
04312 0
Reposted by @mcapousek.bsky.social
Kostas Anagnostou @kostasanagnostou.bsky.social · 23/11/2025
The post on using spatial hashing with raytraced ambient occlusion attracted quite a bit of interest so I expanded it into a blog post to discuss how it works behind the scenes to both reduce the noise and its cost. interplayoflight.wordpress.com/2025/11/23/s...
interplayoflight.wordpress.com
Spatial hashing for raytraced ambient occlusion
Subdividing a 3D space into cells or voxels and using positional and/or directional information to directly index into it is a popular method to store and access local data, typically using 3D text…
410429 0
Reposted by @mcapousek.bsky.social
Geolm @geolm.bsky.social · 15/11/2025
Just released bc_crunch: a tiny (~700 LOC), C99 library for lossless BC1/BC4/BC3/BC5 compression. One .c/.h pair, no deps, no malloc GPU-ready output Zigzag + delta + popcount/dictionary tricks Tested Perfect for games, procedural assets, streaming textures. github.com/Geolm/bc_cru...
github.com
GitHub - Geolm/bc_crunch: tiny dependency-free lossless compressor for BC/DXT texture streams (C99, ~700 LoC)
tiny dependency-free lossless compressor for BC/DXT texture streams (C99, ~700 LoC) - Geolm/bc_crunch
3408 0
Reposted by @mcapousek.bsky.social
𝔅𝔏𝔒𝔒𝔇 𝔅ℑ𝔗ℭℌ 🩸 @trannieoakley.blood.gay · 30/09/2025
logging on to AO3
2784177 0
Reposted by @mcapousek.bsky.social
Adam Sawicki @asawicki.info · 23/09/2025
This new video by Timothy Lottes will be the craziest way of programming you've seen for a long time. www.youtube.com/watch?v=RrL7...
youtube.com
Fixing C
YouTube video by Neokineogfx
1164 0
Reposted by @mcapousek.bsky.social
George Conway ⚖️🇺🇸 @gtconway.bsky.social · 18/09/2025
Cowards. Shameless, morally bankrupt cowards.
41654781625 0
Reposted by @mcapousek.bsky.social
Tom Forsyth @tomforsyth.bsky.social · 20/09/2025
Don't marry your job. You will have many more. Be loyal to people and skills, not companies and titles. You can always change jobs - because you will anyway.
1497 0
Reposted by @mcapousek.bsky.social
Jendrik Illner @jendrikillner.bsky.social · 22/09/2025
Graphics Programming weekly - Issue 409 - September 21st, 2025 www.jendrikillner.com/post/graphic...
05718 0
Reposted by @mcapousek.bsky.social
Cem Yuksel @cemyuksel.com · 06/09/2025
I am boycotting #SIGGRAPHAsia 2026 because it will be in Malaysia, where there are serious safety concerns for the LGBTQ+ members of our community, thereby excluding them. I will not attend, submit my work to, or perform any reviews for SIGGRAPH Asia 2026. Yet, I'm excited about #SIGGRAPHAsia 2025!
16510 0
Reposted by @mcapousek.bsky.social
Jendrik Illner @jendrikillner.bsky.social · 25/08/2025
Graphics Programming weekly - Issue 405 - August 24th, 2025 www.jendrikillner.com/post/graphic...
16419 0
Reposted by @mcapousek.bsky.social
Victor Careil @phyronnaz.bsky.social · 25/08/2025
We've made Property History free & open source! You can use it to quickly see the history of any property in Unreal github.com/VoxelPlugin/...
2278 0
Reposted by @mcapousek.bsky.social
Adam Schwarz @adamjschwarz.bsky.social · 16/08/2025
“Putin would eat you for lunch.” Today, exactly that happened.
676233167441 0
Reposted by @mcapousek.bsky.social
Sebastian Lague @sebastianlague.bsky.social · 16/08/2025
My latest coding adventure is now up on YT -- some experiments with ray-tracing glass and water, and the cool caustics they can cause youtu.be/wA1KVZ1eOuA?...
youtu.be
Coding Adventure: Ray-Traced Glass and Caustics
YouTube video by Sebastian Lague
619229 0
Reposted by @mcapousek.bsky.social
Alan Wolfe @demofox.bsky.social · 17/08/2025
Derivatives, Gradients, Jacobians and Hessians – Oh My! New mathy blog post to try and make some scary sounding terms less scary. blog.demofox.org/2025/08/16/d...
A snippet of the blog post, showing a short explanation of derivatives, as well as a graph of a quadratic function, and a graph of its derivative.
313134 0
Reposted by @mcapousek.bsky.social
Max Slater @thenumb.at · 02/08/2025
We've seen how to define and apply Monte Carlo integration, but there's a whole world of techniques for reducing variance. Part five (thenumb.at/QMC) covers Quasi-Monte Carlo: negative correlation, stratified and adaptive sampling, and low-discrepancy sequences.
0469 0
Reposted by @mcapousek.bsky.social
Kostas Anagnostou @kostasanagnostou.bsky.social · 31/07/2025
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...
youtube.com
I3D 2025 Chris Wyman's Keynote "ReSTIR: Traveling the Path of Reuse"
YouTube video by I3D Symposium
05112 0
Reposted by @mcapousek.bsky.social
Morten Vassvik @vassvik.bsky.social · 01/08/2025
Simple Desmos 3D implementation of ttnghia.github.io/pdf/Quadrati...: www.desmos.com/3d/857tn8jhjl Roughly a 5 years old paper by now, but seems awfully relevant still. By a former student of @cemyuksel.com, who I believe is at Nvidia now.
1317 0
Reposted by @mcapousek.bsky.social
citizen d 🏴‍☠️🖖 @citizend01.bsky.social · 27/07/2025
Things are so bad, the planet is calling for Batman.
247139742221 0
Reposted by @mcapousek.bsky.social
Megan Fox @glassbottommeg.bsky.social · 28/07/2025
Holy shit. This guy saved a PNG to a bird. (he drew a bird into a spectrogram, played that sound to a starling, and the starling reproduced it back to him with enough accuracy he got his bird drawing back in their call's spectrogram) www.youtube.com/watch?v=hCQC...
youtube.com
I Saved a PNG Image To A Bird
YouTube video by Benn Jordan
10543481355 0
Reposted by @mcapousek.bsky.social
Jendrik Illner @jendrikillner.bsky.social · 22/07/2025
Graphics Programming weekly - Issue 400 - July 20th, 2025 www.jendrikillner.com/post/graphic...
06019 0
Reposted by @mcapousek.bsky.social
Sean Barrett @nothings.bsky.social · 19/07/2025
For that weird, narrow segment of technically-minded programmers who want to know how we programmed 3D graphics in the 90s and also want to know about 80% of the stuff I programmed before RAD, I sat down for a 5 hour interview on the Wookash Podcast. www.youtube.com/watch?v=T1tX...
youtube.com
Legendary Software Rendering Era | Sean Barrett
YouTube video by Wookash Podcast
716843 0
Reposted by @mcapousek.bsky.social
Arseny Kapoulkine @zeux.io · 13/07/2025
today is one of those days
3151 0
Reposted by @mcapousek.bsky.social
Pekka Väänänen @pekkavaa.bsky.social · 17/07/2025
A new article on my site: Approximate first principal component It describes simple trick to estimate the direction of most spread of a bunch of points without running a full PCA. Includes my Python re-implementation and plots of some quick tests. 30fps.net/pages/approx...
A plot comparing the original PCA and a simpler approximation. Accurate (red) and approximate (orange) first principal components are shown. The approximation seems close to the original based on this experiment. The shown directions are aggregated over five random trials.
1316 0
Reposted by @mcapousek.bsky.social
Morten Vassvik @vassvik.bsky.social · 12/07/2025
Spent the last week or so trying to fully understand centripetal Catmull-Rom splines. Reaching the end now. Here's a WIP interactive Desmos link: www.desmos.com/calculator/w...
desmos.com
(Centripetal) Catmull-Rom Splines
1132 0
Reposted by @mcapousek.bsky.social
Dr. Damien P. Williams, dread portent down from a mountain cave @wolven.blacksky.app · 13/07/2025
Philosophy professor & US Citizen Jonathan Caravello has been brutally detained & effectively disappeared for trying to help a legal observer remove a teargas canister from under their wheelchair during an ICE raid on a California farm. …is a sentence I've now had to write. What… in the actual fuck
201276684 0
Reposted by @mcapousek.bsky.social
Tom Forsyth @tomforsyth.bsky.social · 12/07/2025
Repeating my occasional and yet desperate plea to all my nerdy friends - DO NOT PLAY WITH COMPILERS. It is a trap. You will write it forever, and it will never do what you want, nobody will ever use it, it will not be fulfilling, and you will waste your precious life.
7869 0
Reposted by @mcapousek.bsky.social
Insta Science @instascience.bsky.social · 12/07/2025
A mesmerizing time-lapse of the Sun in ultraviolet light, captured by the Solar Dynamics Observatory spacecraft over a month. -Credits: NASA
18065721388 0