Since we launched GPUOpen back in 2016, we’ve had a steady flow of guest posts from, or in collaboration with, a variety of games developers.

Here, you can read about how others have implemented FidelityFX effects and other GPUOpen software. These guest authors also share with you insights into the development of their own games, including various techniques and algorithms, and how they measure and improve performance.

Learn from those who have already been there, and done that!


Anatomy Of The Total War Engine: Part I

Tamas Rabel, Lead Graphics Programmer on the Total War series provides a detailed look at the Total War renderer as well as digging deep into some of the optimizations that the team at Creative Assembly did for the brilliant, Total War: Warhammer.

You can contribute too!

We’re always on the lookout for new guest posts and collaborative content to share with our readers. Got an idea for a post? Get in touch with us via your usual channels, or through @GPUOpen 


Reducing Vulkan API call overhead

This guest post, by Arseny Kapoulkine from Roblox, looks at the costs associated with calling various Vulkan functions tens or hundreds of thousands of times per frame, and ways to bring them down.

First steps when implementing FP16

Half-precision (FP16) computation is a performance-enhancing GPU technology long exploited in console and mobile devices not previously used or widely available in mainstream PC development.

Deferred Path Tracing By Enscape

Insights from Enscape as to how they designed a renderer that produces path traced real time global illumination and can also converge to offline rendered image quality.

Vulkan and DOOM

This post takes a look at the interesting bits of helping id Software with their DOOM Vulkan effort, from the perspective of AMD’s Game Engineering Team.

Anatomy Of The Total War Engine: Part IV

Tamas Rabel talks about how Total War: Warhammer utilized asynchronous compute to extract some extra GPU performance in DirectX® 12 and delves into the process of moving some of the passes in the engine to asynchronous compute pipelines.