NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
The Art of Dithering and Retro Shading for the Web (2024) (blog.maximeheckel.com)
Flow 2 days ago [-]
I like good pixel dithering. The C64 demo scene has become really good at it. Just look at the girl picture in the frozen start pic. That shows really good taste in picking colors from the weird palette too.

https://www.youtube.com/watch?v=P5E6z7AMxIU

pengaru 1 days ago [-]
Is that real-time dithering the demo authors implemented though?

It seems like a static image they could use any graphics program to produce...

danwills 23 hours ago [-]
This would've been meticulously dithered by-hand by the artist to achieve a particular look and the quality of that is what gp was praising iiuc.
tomxor 1 days ago [-]
Shameless plug: Return to Castle Floyd Wolfensteinberg

https://www.dwitter.net/d/27957

for(c.width&=i=8320;i;C=C-64+S|0)(S/64R-R+C/3e6^R+3t)%7?R=1.02:x.fillRect(S=i>>6,Y=i&63,q=0|(p=(x[--i]+=7T)+(Y/32R-R|0?Y/128:1-1/R)),Y?1:R=1,T=(p-q||0)/16,x[u]+=3T,x[u=i-64]+=5*T,x[u-1]=T)

HelloUsername 2 days ago [-]
Related?

Ditherpunk: The article I wish I had about monochrome image dithering

2021 https://news.ycombinator.com/item?id=25633483 200 comments

2023 https://news.ycombinator.com/item?id=36023706 37 commments

Syzygies 19 hours ago [-]
My father (Bryce Bayer) was known for the Bayer filter, which survives to this day as the dominant approach to capturing color images in all digital cameras, and Bayer dithering, which didn't. Last time I saw it used was as decoration on DEC computer boxes.

In grad school, I went "down the street" to MIT to hear him speak. I overheard some students disparaging this dithering as primitive. Hey, you try living in the past and seeing the future!

I love HN for its healthy love of history.

bazzargh 1 days ago [-]
there's an approach missed in that article lying between ordered dither and diffusion approaches - low discrepancy sequences

https://web.archive.org/web/20180830004622/https://extremele...

I'm not sure how much use that is for "modern" systems where blue noise textures are cheap enough but for dithering on retrocomputing devices I find it useful - smoother than random, less expensive than error diffusion.

That page is still up, I linked to an archive because right now for me I see some of the images get blocked at the source.

GuB-42 1 days ago [-]
Also this: https://news.ycombinator.com/item?id=42808889

It is a new approach to dithering in 3D, inspired by "Return of the Obra Dinn". After 2018, when someone talks about dithering, it is always the Obra Dinn, except for the submitted article it seems :)

biercarsten 1 days ago [-]
Ah, thats from runevision. I recently whatched his youtube video on this (https://youtu.be/HPqGaIMVuLs) and "Return of the Obra Dinn" was also the first thing I thought of.
AndrewStephens 1 days ago [-]
I really like this writeup.

A shameless link to my own dithering web component, which uses Atkinson dithering which I think looks cool but cannot be done on a GPU.

https://sheep.horse/2023/1/improved_web_component_for_pixel-...

ggm 2 days ago [-]
I very much enjoy N64 era games, and do wonder if the emulation/upscaling is subtracting from the experience. The problem is modern pixels are so tiny, without things like this, It would be a tiny image.

Other people want the game post-rendered into modern feel. I guess we're all different: For me, the blocky-ness is the point.

rezmason 2 days ago [-]
The article's author, this Maxime Heckel, has got an excellent online portfolio of shader work! https://maximeheckel.com
bazzargh 1 days ago [-]
I wondered why the page was full of blank areas, it's because of this:

https://caniuse.com/hevc

... the videos are hevc-encoded and don't work for me in eg firefox. (I can see them if I switch to chrome)

per ffmpeg:

    Stream #0:0[0x1](und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709, progressive), 1080x656, 1219 kb/s, 60 fps, 60 tbr, 15360 tbn (default)
jak6jak 2 days ago [-]
Very pretty website. I really like the transparency for the nav bar. I would like to emulate this style in my own website. I wish I knew how to add texture to a website that makes it feel unique and not flat. Perhaps I should look into 3d postprocessing effects and how to apply that to a 2d website
esquevin 2 days ago [-]
Go look at the code! it's just a right click > inspect away.

And you'll see you just needs a single CSS property `backdrop-filter: blur(8px);` to achieve this effect nowadays =)

chrismorgan 14 hours ago [-]
To do it properly, you need a bit more than just `backdrop-filter: blur(8px)`; see <https://www.joshwcomeau.com/css/backdrop-filter/#the-issue-2> for a clear demonstration of the problem, and the rest of that article for the solution (with further relevant details and discussion in <https://news.ycombinator.com/item?id=42302907>; in this particular case, the backdrop blur needs to be able to access 15px more of the backdrop than it can unless you go out of your way to give it that).
pastage 1 days ago [-]
Though I found a use for the "kill sticky" bookmarklet. https://news.ycombinator.com/item?id=42902395
nelsonfigueroa 2 days ago [-]
Aside from the interesting read, I really like the design of this site. Specially the code blocks.
snickmy 1 days ago [-]
plus 1! Really well done website, where the 3d bits are not detracting from the overall experience.
hanspf 2 days ago [-]
This is a fantastic blog post! Did not understand all the math, but the nostalgia trip was awesome. Thank you!
2 days ago [-]
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 22:52:00 GMT+0000 (Coordinated Universal Time) with Vercel.