Categories
Blog

Pixel-Perfect Graphics for Embedded Systems

This is an ode to pixel-perfect graphics and an explanation as to how, even with advancing technology, they are still important.

Great graphic design for embedded systems don’t only look great on the designer’s display device, but take the characteristics of the target display and environment into account.

Categories
Blog

How PBR and Photogrammetry are changing real-time asset workflows.

Historically, when working on technical art direction for a video game, every game was different. The 2D/3D art pipeline was defined by the visual style of the game, hardware capabilities and the render pipeline, which was often built specifically for a particular game.

But if the style you need is photo-realistic, why bother creating assets just for one project? Any photo-realistic asset would match the style and with tools like Quixel Mixer, artists can even employ workflows to batch-create stylized graphics using photo-realistic input assets.

Categories
Blog

Why Hardware Raytracing is Awesome

Raytracing is a great technlogy to render photo-realistic lighting, reflections and even refractions and caustics. But with ever-increasing rendering resolutions, we’ve never really been able to do any great-looking full-scene raytracing in real-time and a capacity that is ready for consumer video games and other applications. The next Generation of Video game consoles, Playstation 5 and XBOX One Series X are going to include dedicated ray-tracing hardware. Does that mean, we can now ray-trace everything? No, unfortunately it does not, but here is why hardware raytracing is still awesome.

Categories
Blog

Game Console Graphics Stagnation

How ever-increasing resolutions are eating our flops and why we need better pipelines.

Categories
Blog

Dithering Explained – For Humans

Dithering is a technique used to mitigate the loss of depth in a quantization process of any signal and is often used in computer graphics to reduce the perception of “steps” and increase visual fidelity.

There are different approaches to this and the original concept is way older than computer graphics. However, even though it’s widely adopted, it often isn’t done right.

In principle, the idea is to apply noise to make use of spatial resolution to make up for the lack of depth-resolution. In computer graphics, this means that, if the color depth isn’t sufficient and you don’t have enough distinct colors at your disposal, you can scatter dots of different colors around your image to trick people’s perception into seeing more colors, because they “blend” colors together. Dithering works for systems where there’s a certain inertia in place – like the human eye.

The big fallacy here, however, is the assumption that noise can be applied after the quantization process. The Wikipedia article on this is technically correct, but potentially misleading.

The proper way to dither is to apply noise as part of the quantization process itself and keep the brightness values between the quantization values above and below the original value which I’ll explain here.