Graphics Programming weekly - Issue 130 — May 3, 2020


Real-time Shadows

  • the presentation provides an in-depth overview of shadow techniques for real-time applications
  • discusses what shadow maps are, how they are rendered, stored and used
  • provides an overview of common problems and solutions
  • additionally provides an overview of more advanced techniques such as filtering and cascaded shadow maps


Physically-Based Materials – Energy Conservation and Reciprocity

  • the article presents the definition of a physically-based material that is energy conservation and reciprocity
  • reciprocity is essential to be able to use bi-directional path tracing techniques
  • looks at common methods such as Pre-Filtered Environment Maps, several Dielectric Material implementations presenting if they are reciprocal and/or energy-conserving and explaining why


Prefix sum on Vulkan

  • the article presents how to implement a prefix sum using Vulkan compute shaders
  • looking at memory model, dynamic allocations and subgroup controls


Depth-Based Post Effects

  • the Unity tutorial explains how to use the depth texture to apply a localized toon shading effect
  • shows how to sample the depth texture, unpack the data and use it in a shader

Profiling DXR Shaders with Timer Instrumentation

  • new Nvidia extension for D3D12 that provides shaders the possibility to query timestamps from within a shader
  • the article explains how to use this technique to visualize the performance of TraceRay( … ) with a heatmap
  • shows how to enable the extension in C++ and how to integrate it into a shader
  • comparable to the VK_KHR_shader_clock extension


Complex Maps Masks, Details, and Normals

  • next part in the Unity Tutorial series about implementing a custom scriptable rendering pipeline
  • adds support for more complex materials such as details maps and normal mapping


[video] Tech Focus: What Is VRS And Is It A Next-Gen Game-Changer? Variable Rate Shading Analysis!

  • the video provides an overview of Variable Rate Shading (VRS)
  • present an overview of VRS implementation in Wolfenstein New Blood and Gears: Tactics for performance and quality
  • discusses considerations in how difference workload affect the performance gains that can be expected from VRS


Frame Analysis - Mortal Kombat 11

  • breakdown of the rendering techniques used in Mortal Kombat 11


It’s time we talk about TDR

  • the article presents an alternative execution model that would be able to improve upon Timeout Detection and Recovery mechanism found in the OS
  • after 2 seconds the OS will terminate GPU processes and cause a device lost event
  • the proposal is to make the OS GPU process-aware which allows applications to start independent GPU processes that would behave similarly to CPU processes


A Taste of WebGPU in Firefox

  • the article provides an overview of the WebGPU API
  • covers the state of the implementation on Firefox and presents the next steps currently in progress


Fast Subsurface Scattering for the Unity URP

  • the article presents the Wrapped lighting technique to emulate subsurface scattering
  • the method is aimed for use with forward shading on the Oculus Quest


Volumetric Rendering Part 1

  • this part of the article on volumetric rendering shows how to model a volume using an SDF inside of shadertoy


Volumetric Rendering Part 2

  • the second part of the article presents how to render the volumetrics
  • calculation absorption, Self-shadowing, quality improvements, and a few optimizations


UE4 - Physical light unit - Twitter Thread

  • Twitter thread about the complexities of different light measuring units
  • provides a UE4 tool to simply conversion between units


Thanks to Daniel Fortes for support of this series.


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