Top all-time · #3199
Nathan Reed
Personal blog · reedbeta.com/blogprogrammingdesign
Nathan Reed's personal blog at reedbeta.com covers programming and design. Since 2013, 23 different Hacker News readers have linked it 31 times, most often “Hash Functions for GPU Rendering”. The last post was in 2023, but the archive is still widely read.
Pixels and polygons and shaders, oh my!
Most-linked posts?
- Hash Functions for GPU Rendering3 people · 3 mentions · first linked 2021-05-22
- Quick and easy GPU random numbers2 people · 2 mentions · first linked 2026-01-04
- A Programmer’s Introduction to Unicode2 people · 2 mentions · first linked 2017-03-04
- Depth Precision Visualized2 people · 2 mentions · first linked 2015-07-03
What Hacker News says?
It has been said PS5 uses Kraken. If its this http://www.radgametools.com/oodlekraken.htm then nothing really changes. PS4 games use RAD Kraken today. Texture assets themselves have standardized long time ago, currently on the desktop we are at http://www.reedbeta.com/blog/understanding-bcn-texture-compr... with history going all the way back to 1990 patents for Apple Video 'road pizza' codec, later ripped off by S3…
Comment linking /blog/understanding-bcn-texture-compression-formats/
on “Is WebP really better than JPEG?”Submitted A Programmer’s Introduction to Unicode as a story · 299 points
HN discussionHere are a bunch of blogs from my RSS reader that I think are worth reading. Some of them haven't updated in a while, but the archives may be worth a look anyway. * Blogs with a math focus: http://blog.sigfpe.com http://bit-player.org http://mathr.co.uk/blog/ https://www.johndcook.com/blog/ * Blogs with a programming languages focus: https://existentialtype.wordpress.com https://bluishcoder.co.nz http://blog.ezyang.…
Comment linking /
on “Ask HN: What programming blogs do you follow?”Submitted Antialiasing: To Splat or Not as a story · 79 points
HN discussionRecently I came across http://iquilezles.org/www/articles/ibilinear/ibilinear.htm when researching how to draw textured non-parallelogram quadrilaterals, without affine texture mapping, with WebGL / OpenGL ES 2. I was disappointed to learn that OpenGL wouldn't do it and we have to calculate it on our own and send in a 3rd texture coordinate to each vertex for extra calculation on the shader. Sadly, there isn't much…
Comment linking /blog/quadrilateral-interpolation-part-2/
on “Articles on fractals, computer graphics, mathematics, demoscene and more”Submitted Data-Oriented Hash Table as a story · 76 points
HN discussion> Unicode is fucked. All these bullshit emojis Ah yes, all those bloody emoji taking the place of better worthier characters, those dastardly pictures taking up all of one half of one 16th of one Unicode plane (which has only 16 of those, and only 14 public). And the gall they have, actually being used and lighting up their section of plane 1 like a christmas tree while the rest of the plane lies in the darkness: ht…
Comment linking /blog/programmers-intro-to-unicode/heatmap-wiki+tweets.png
on “Emoji.length == 2”Submitted Making Your Own Container Compatible with C++20 Ranges as a story · 74 points
HN discussionThe DS "GPU" is indeed very bizarre and shares more in common with the GBA 2D rasterizer than a modern 3D GPU architecture. That it's a scanline renderer that can handle quads directly should be a pretty big tell :) I implemented a cheap subset of it used in Super Mario 64 DS for my online model viewer ( https://noclip.website/#sm64ds/44;-517.89,899.85,1300.08,0.3... ), but implementing all of the quirks and the wei…
Comment linking /blog/quadrilateral-interpolation-part-2/
on “The DS GPU and its fun quirks”Submitted Hash Functions for GPU Rendering as a story · 41 points
HN discussionhttp://reedbeta.com/blog/programmers-intro-to-unicode/
Comment linking /blog/programmers-intro-to-unicode/
on “The Minimum Every Software Developer Absolutely Must Know About Unicode (2003)”Submitted Depth Precision Visualized as a story · 32 points
HN discussionThere are some efforts underway to standardize using SIMD but this is really a separate problem to providing a short vector math library suitable for the kind of linear algebra useful for 3D graphics and physics. Making your vec4f type a SIMD register type is not a good way to make use of SIMD hardware. The best approach is generally an SoA (Struct of Arrays) rather than an AoS (Array of Structs) and the best CPU pr…
Comment linking /blog/on-vector-math-libraries/
on “2D or not 2D (in the C++ Standard) – that is the question”Submitted Why Do Quaternions Double-Cover? as a story · 5 points
HN discussionThis is probably the simplest article about the subject: http://www.reedbeta.com/blog/2013/01/12/quick-and-easy-gpu-r...
Comment linking /blog/2013/01/12/quick-and-easy-gpu-random-numbers-in-d3d11/
on “NumbaPro CUDA Python speeds up a Monte Carlo pricer 14x”Submitted Quick and easy GPU random numbers as a story · 2 points
HN discussionhttps://www.reedbeta.com/blog/understanding-bcn-texture-comp... BC1-5 have been standard practice since before the original XBox. I think when people here are talking about "uncompressed assets" they mean "not applying variable-rate zip style compression on top of BCn compression."
Comment linking /blog/understanding-bcn-texture-compression-formats/
on “Faster LZ is not the answer to 150-250 GB video game downloads”Submitted The Shunting-Yard Algorithm (2011) as a story · 2 points
HN discussionHere's the source. Nathan Reed references a jcgt paper, which references a paper form 2012. https://www.reedbeta.com/blog/hash-functions-for-gpu-renderi...
Comment linking /blog/hash-functions-for-gpu-rendering/
on “Constant Time Stateless Shuffling and Grouping”Submitted Hash Functions for GPU Rendering (2021) as a story · 2 points
HN discussion> Quaternions are the same idea just in 3 dimensions (so with 3 imaginary units i j k, not just i, one per plane). I justify quaternions to myself with the intuition from [1]. In essence quaternions represent rotations in 4D, where multiplying by a "unit" (i,j,k), rotates two distinct planes by 90 degrees. The reason introducing a single unit j doesn't work is the same reason this rotation-is-multiplication trick do…
Comment linking /blog/why-quaternions-double-cover/
on “Quaternion Algebras”Submitted Python-Like enumerate() in C++17 as a story · 2 points
HN discussionSubmitted Mesh Shader Possibilities as a story · 2 points
HN discussionSubmitted Quick and Easy GPU Random Numbers in D3D11 (2013) as a story · 1 points
HN discussionSubmitted Data-Oriented Hash Table as a story · 1 points
HN discussionSubmitted Outdoor Computing (2015) as a story · 1 points
HN discussionSubmitted Texture Gathers and Coordinate Precision as a story · 1 points
HN discussionSubmitted Git-Partial-Submodule as a story · 1 points
HN discussionSubmitted Understanding BCn Texture Compression Formats (2012) as a story · 1 points
HN discussionSubmitted Normals and the Inverse Transpose, Part 1: Grassmann Algebra as a story · 1 points
HN discussion