Graphics Programming weekly - Issue 198 - August 29, 2021


The Rendering of Mafia: Definitive Edition

  • in-depth frame analysis of a nighttime scene in Mafia, a d3d11 based deferred rendering engine
  • covers g-buffer, occlusion culling, decal blending, GI
  • cars use a precalculated shadow texture to cast AO
  • heavy use of stencil usage for volumetrics, sky, as well as the minimap rendering


Optimizing AMD FSR for Mobiles

  • the article presents optimizations to the FidelityFX Super-Resolution by AMD
  • shows multiple steps, what gains got achieved and hints at what quality reductions can be expected


Compressed GPU texture formats – a review and compute shader decoders – part 3/3

  • the article presents how to implement a shader-based ASTC decoder
  • shows what different modes are supported, how to encode parts
  • pointing out the complexities and special cases of the format


My Takeaways from WebGPU July 2021 Meetup

  • the article contains a brief summary of the content presented at the WebGPU meetup
  • covers WebGPU performance advice, new glTF extensions
  • additionally shows how batching and multi-draw techniques can improve performance


Stylised Grass with Shaders in URP

  • the shader tutorial presents how to implement a grass shader using the Universal Render Pipeline in Unity
  • using Geometry Shaders to generate blade meshes and tessellation shader to control the grass density
  • presents how to deal with a nonplanar surface, supporting rotation and bending
  • additionally shows how to control grass painting onto the world, wind and shadow integration


Technically Art: Issue 107 (27.08.2021)

  • collection of tweets covering an extensive range of technical art topics
  • VFX, breakdown of scenes, showcases of visual effects, …


Linux in a Pixel Shader - A RISC-V Emulator for VRChat

  • article presents a project that emulates a Linux in a pixel shader running in VRChat
  • emulates a RISC-V CPU in an HLSL pixel shader
  • shows how the emulation was implemented
  • a few pointers on performance improvements made throughout the process


Thanks to Deepak Surti for support of this series.


Would you like to see your name here too? Become a Patreon of this series.