Graphics Programming weekly - Issue 73 — February 17, 2019

This series can now be supported on Patreon. Vote on the roadmap and monthly summaries for December and January are available as reward tier.


Interactive light map and irradiance volume preview in Frostbite

  • chapter from the Ray Tracing Gems book
  • describes the real-time GI preview system developed for the Frostbite engine, runs on the GPU asynchronously to the editor
  • uses an irradiance cache light map approach with denoising applied
  • presents performance and results of different acceleration techniques


Rendering process in Shadow Fight 3

  • shows the frame breakdown of Shadow Fight 3
  • rendering approach designed to reduce the number of draw calls
  • explains how the rendering system was designed to take advantage of the game design constraints to find very cheap solutions for lighting, shadows, and reflections


Friday Facts #281 - For a Few Frames More

  • presents performance optimizations done for the 2D rendering system
  • reducing overdraw for blended objects
  • discussion of texture compression formats for detailed 2D pixel art
  • using YCoCg-DXT compression to split luma and chrominance
  • requires two textures instead of 1 but still a performance win for the game

Camera Rays

  • shows how to set up full-screen quad geometry data so that attribute interpolation can be used to generate the camera rays in a vertex and pixel shader with few instructions

Pixel Spirit cards

  • card deck that introduces visual shapes and GLSL code required to create them
  • combined with The Book of Shaders (by the same author) it provides a good starting point for artistic shader projects

Emulating Command Buffers in OpenGL - Part 2

  • presents a brief look at the performance of emulating a custom command buffer format on top of OpenGL
  • notices a 7% overhead from the command buffer parsing

Creating an Interactive Vertex Effect using Shader Graph

  • explains how to create a pulsating vertex effect using Unity Shader Graph and the lightweight rendering pipeline
  • shows how to set up the shader node graph and control parameters it from C# scripts

Shader Debugging for BGFX Rendering Engine

  • shows how debug compute shaders when using BGFX
  • a brief introduction into what is necessary to compile the project
  • explains how to compile shaders so that debug information is available and can be used with RenderDoc and the Visual Studio Graphics Debugger

RadeonSI Picks Up Primitive Culling With Async Compute For Performance Wins

  • open-source AMD Linux driver adds support to use async compute to cull primitives before the vertex shader stage

Unreal Engine 4.22 Preview

  • added support for ray and path tracing for the D3D12 backend
  • low-level abstractions and high levels features have been implemented
  • includes GI path-tracer to generate reference images directly in the editor
  • preview for render graph API

Procedural Stochastic Texturing in Unity

  • Unity provides a plugin that implements the tiling stochastic texturing approach presented in issue 68 and 45
  • source code for shader and offline precomputation step is provided


Experience everything Unreal and more at GDC 2019

  • list of Unreal events/talks/presentations that will take place at GDC


WebGL 2.0—Why It’s the Path to Stable Open Standards-based 3D Web Graphics

  • presents a brief history of the development of WebGL and it’s adoption

Adding point and directional lights to a physically based renderer

  • presents the equations necessary to express point- and directional lights when only area lights are supported

Lazy person's tone mapping

  • presents a simplistic approach to tone mapping results from a renderer

Thanks to Angel Ortiz @aortizelguero for support of this series.


You would like to see your name here too? Become a Patreon of this series.