Graphics Programming weekly - Issue 232 - April 24, 2022


Shader compiler tools

  • the article presents an overview of the shader compilation pipeline in Wicked Engine
  • presents how to track header dependencies when using the DXC shader compiler and how to detect changes to trigger recompilation
  • presents pointers on how to unify Vulkan and D3D12 shaders as much as possible


A remake of the famous Sponza scene for open, collaborative and reproducible research

  • the Sponza rendering scene has been updated
  • it now contains 4K PBR texture sets and high-resolution geometry
  • optional packages such as curtains, ivy, trees, and emissive candles are available too
  • additionally, a fully rigged and animated knight model has also been released


Dynamic, Noise Free, Screen Space Diffuse Global Illumination

  • the article presents the screen space solution for Global Illumination
  • presents the four steps of the process and how the individual results combine
  • code examples for different steps are provided


Compute shaders in graphics: Gaussian blur

  • the article presents the authors’ first experience with writing a compute shader to implement a Gaussian blur
  • presents the different stages of the experiment, presenting performance numbers for different work sizes and execution patterns
  • this shows how writing pixel shaders can outperform unoptimized compute shaders by a large margin


How to build a BVH – part 2: Faster Rays

  • the article presents how to use a Surface Area Heuristic (SAH) to improve the quality of the BVH generation
  • shows how much speedup can be achieved with the use of the heuristics
  • it additionally covers additional performance optimizations through ordering changes and the usage of SSE


Radeon™ GPU Profiler 1.13 and Radeon Developer Panel 2.6

  • the article presents improvements to the new profiler version
  • contains support for raytracing performance counters and inline raytracing
  • additionally, searching in the ISA of the pipeline is directly supported now


How to build a BVH – part 3: Quick Builds

  • the article presents how to reduce the time required for the presented BVH build from seconds to milliseconds
  • shows an alternative split plane and binning algorithms to speed up the process


Moving, Rotating, and Scaling UVs - Shader Graph Basics - Episode 43

  • the video tutorial explains how to modify UVs from a shader graph in both Unity and Unreal Engine 5
  • explains the concepts step by step and presents the results


Slang Shading Language Advances

  • the talk presents the Slang Shading language
  • presents how generics and interfaces are implemented in an efficient way for GPU execution
  • shows how the language has been deeply integrated into the Falcor material model
  • explains the building blocks for cleaner parameter binding logic across APIs

i3D 2022 - Program

  • program for the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games has been released
  • the conference will take place Tuesday, May 3, through Thursday, May 5, in a virtual setting

Unreal Engine 5 Matrix City Sample PC Analysis: The Cost of Next-Gen Rendering

  • the Digital Foundry video analyses the performance of the UE5 Engine
  • presents a comparison between hardware-accelerated and software only Lumen in terms of performance and quality
  • shows how CPU limited the demo tends to be

Modern OpenGL Tutorial - Tessellation Shaders

  • the video provides an overview of tessellation shader concepts
  • shows how to implement a basic tesselation shader using OpenGL
  • the example presented shows how to adjust the tessellation level of a plane dynamically around the curser

My personal hell of translating DXIL to SPIR-V – part 5

  • the article introduces standard terms and concepts used in compiler literature
  • applies the concept to start explaining the conversion from unstructured control flow into structured control flow
  • discusses common patterns and issues found in the DXIL generated from DXC

Thanks to Leonardo Etcheverry for support of this series.


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