Graphics Programming weekly - Issue 212 - December 05, 2021


[video] Swizzle & Channel Manipulation - Shader Graph Basics - Episode 25

  • the video tutorial introduces swizzle operations
  • shows how to emulate functionality in Unity that is available natively in UE

fma: A faster, more accurate instruction

  • the article presents the shader multiply/add operation (fma/mad)
  • discusses how it’s mapped onto the hardware and allows more efficient and precise operations
  • shows example use cases, discussing the impact on the precision of the calculation results


The Definitive Weta Digital Guide to IBL

  • the tutorial describes the capturing process for image-based lighting
  • IBL probes are omnidirectional representations of lighting information captured from high dynamic range images of a location
  • shows how to capture the images and set up the pipeline to integrate the captures into the renderer
  • explains how all captured with different exposures are combined into a single IBL probe


Building a PS1 style retro 3D renderer

  • the article describes the hardware characteristics of the PS1 renderer
  • shows a visual demonstration of the effect of sub-pixel rasterization and perspective correct interpolation
  • additionally shows how to emulate the hardware shortcomings to create a PS1 style look on today’s hardware


Tiled Reservoir Sampling for Many-Light Rendering

  • the paper introduces a combination of tile-based stochastic light culling and reservoir sampling
  • this reduces the variance for lights close to surfaces such as common in Virtual Point Lights (VPLs) based indirect illumination systems


Gradients in linear space aren't better

  • the article shows how gradients differ with different color spaces
  • compares sRGB, linear, and Oklab color spaces


Arm Best Practice warnings in the Vulkan SDK

  • the article presents the Vulkan SDK layer architectures
  • introduces how to enable Arm performance warning layer
  • additionally shows how to run the layer on RenderDoc captures to gather information


Why gamers and developers should care about ray tracing

  • the article provides an overview of use cases for ray tracing
  • discussing disk and memory space-saving, shadows, reflection
  • also mentions the effects on user-generated content


Debugging Your Renderer (3/n): Assertions (and on not sweeping things under the rug)

  • the article discusses the importance of asserts for debugging a renderer
  • shows how asserts are implemented in PBRT
  • additionally presents an example from the PBRT development where asserts helped to catch a performance issue


Understanding Graphs in GPUView and RGP

  • the article explains what information GPUView and Radeon GPU Profiler show
  • shows how items are progressing through the queue over time
  • additionally shows how to see how utilized the GPU is over time


Custom Bloom Post-Process in Unreal Engine

  • the article provides an overview of the bloom technique and implementations
  • comparing the technique implemented by UE and Call of Duty and how the suggested solution is a combination
  • shows how to integrate a custom implementation into the UE4 codebase


Skeletal Animation In OpenGL using Assimp - Part 1

  • the video tutorial provides an overview of the skinning animation technique
  • explaining the process of how data is authored, animated, and encoded in a GPU friendly format
  • additionally shows how to set up, compile and use Assimp to parse the initial skinning poses


Thanks to atyuwen for support of this series.


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