Top all-time · #10991
The Danger Zone
Personal blog · mynameismjp.wordpress.comprogramminggames
The Danger Zone is a personal blog at mynameismjp.wordpress.com about programming and games. Since 2012, 7 different Hacker News readers have linked it 8 times. The last post was in 2019, but the archive is still widely read.
Too few sampled comments (4) to say how often HN recommends it.?
Why HN links it
Graphics-programming posts on sRGB and tonemapping, depth-of-field blur, rendering thousands of lights, and reverse-engineering The Witcher 3's rendering. HN readers cite them in rendering discussions.
Summarised by Claude from a sample of 4 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
99.9% genuine graphics programming
What Hacker News says?
sRGB can be stored in 8bpp. Linear can not. ALU is cheaper than memory bandwidth, and the conversion is in hardware on modern GPUs. Typically, the conversion from linear to sRGB is done as part of the tonemapping which converts from linear quantities, usually from an 16-bit HDR framebuffer target to an 8-bit one. Mixed in with this is MSAA where the resolve is typically done in non-linear space (this is a choice to…
Comment linking /2012/10/24/msaa-overview/
on “Reverse engineering the rendering of The Witcher 3 (2018)”Submitted Signal Processing Primer as a story · 48 points
HN discussion> This performance optimization doesn't really work for variable-width blurs... An alternative would be to use Summed-area tables [1] where each texel contains the sum of all texels that are above and to the left of the current texel. This allows variable-width blurs to be computed in constant time, using only four texture samples (!). And the concept of a variable-width blur is an approximation to a related concept…
Comment linking /2011/02/28/bokeh/
on “Depth of field blur: the Swiss army knife that improved the framerate”Submitted Breaking Down Barriers – Part 6: Experimenting with Overlap and Preemption as a story · 3 points
HN discussion>> the ghost of NAN past will visit you, just be careful. LOL, solid advice. Early openGl only allowed 8 lights in a lighting pass. So if you had a bunch of lights, you'd have to find the closest ones and just use those. One technique I liked was the index deferred lights, which at the time could run on older hardware that didn't have use of floating point buffers: https://mynameismjp.wordpress.com/2012/03/31/light-…
Comment linking /2012/03/31/light-indexed-deferred-rendering/
on “How to add thousands of lights to your renderer and not die in the process”Submitted Breaking Down Barriers – Part 2: Synchronizing GPU Threads as a story · 2 points
HN discussionTonemapping is an essential component of modern video editing and rendering, and for that matter it has been common in photo editing (through the processes of "dodging" and "burning" the film as it was being exposed) since at least the '40s. Tonemapping is what actually lets you see the depths of light and dark in the same scene without the darkest and brightest parts of the image being completely blown out to black…
Comment linking /2010/04/30/a-closer-look-at-tone-mapping/
on “Temporally Coherent Local Tone Mapping of HDR Video”Submitted Adventures in Retro Development: SNES Edition as a story · 1 points
HN discussion