Urgent.News

What's breaking now, across thousands of outlets.

Tech

The Art of Dithering and Retro Shading for the Web

In recent months, I embarked on the journey of constructing my personal website, dedicating my efforts to integrating 3D components to illustrate my expertise in shaders and WebGL. This endeavor allowed me to grasp the pivotal role that post-processing effects play in enhancing visual appeal, addressing long-standing frustrations in my previous React Three Fiber and shader projects.

Through the process of building, combining, and experimenting with custom post-processing effects, I discovered a newfound creative outlet, particularly fond of retro effects such as dithering, color quantization, and CRT RGB cells. These effects provide a delightful contrast between the contemporary web and the nostalgic era cherished by those who grew up in the 90s and early 2000s.

Driven by the time invested in dissecting these effects, I felt compelled to delve deeper into the underlying concepts and shader techniques. This article aims to highlight the significance of post-processing effects and the allure of a retro aesthetic for websites. Moreover, we will explore examples of dithering and pixel art from accomplished artists who employ similar processes, alongside my own creations developed during this learning journey.

Dithering, originating as an early graphics technique to deceive the viewer's brain into perceiving more color or smoothness in gradients and shadows, became essential when color palettes were limited. This resulted in a distinctive visual style for games and media during a time when computers lacked advanced capabilities. Currently, dithering serves as an artistic choice for creators seeking to infuse their work with a retro vibe, invoking memories of the early gaming era or adhering to self-imposed color constraints.

Examples of such applications include using dithering to give React Three Fiber/Three.js projects a unique style, as demonstrated in a grayscale version of a scene with dithering implemented as a fragment shader in a custom post-processing effect.

Written by urgent.news from Hacker News's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at blog.maximeheckel.com →

More in Tech

Changing def to async def let one blocking call freeze an entire FastAPI app

Everyone who writes async Python has been told not to block the event loop. What I had never seen measured is how much damage one blocking call actually does, and the part of FastAPI's behaviour that…

  • Blocking calls in async endpoint significantly slow down response time, up to 34,130 milliseconds.
  • CPU-bound tasks can be offloaded to threads or process pools to reduce impact on other endpoints.

Business Impact Governance Framework (BIGF) v2.4

"Talk is cheap. Show me the state machine. If your governance model requires a 15-person meeting to decide who has authority, your architecture is broken. You don't have governance; you have an expensive support group." In plain English: BIGF is a deterministic runtime gate that drops authority to zero ( 403 Hard Halt ) the millisecond…

  • BIGF v2.4 uses deterministic runtime gate for authority evaluation
  • Framework enforces 403 Hard Halt on compliance telemetry failure
  • Interactive browser simulator demonstrates deterministic BIII integrity score

More from Tuesday 13 October →