Graphics Programming weekly - Issue 311 - October 29nd, 2023


[video] Animated Flag Part 2 - Advanced Materials - Episode 27

  • part 2 of the animated flag series extends the effect from the previous video
  • adds support for allowing the flag to be rotated
  • additionally shows how to recalculate the normals for improved lighting


[video] Why can't you multiply vectors?

  • the talk presents an overview of linear algebra
  • covering topics from the basics of vectors, complex numbers, operations between vectors, and more
  • shows how intuition developed connects to geometric algebra


Machine Learning for Game Devs: Part 1

  • the blog post introduces a new series about machine learning that aims to connect different disciplines
  • provides an introduction to machine learning and shows how it can be expressed in shader code


Study Notes On The Marschner Hair Shading Model

  • the blog post describes the The Marschner Hair Shading Model
  • focuses on high-level information and develops an intuition for the model
  • additionally provides corrections and extensions for ideas from the original paper


GM Shaders Mini: Tonemaps

  • the article presents the importance of tone mapping to reduce color clamping
  • shows visual examples of different tone mapping implementations


Efficient CUDA Debugging: Memory Initialization and Thread Synchronization with NVIDIA Compute Sanitizer

  • the article presents the types of checks available by the NVIDIA Compute Sanitizer
  • shows how to use sanitizers to detect memory access errors, uninitialized device global memory access, thread synchronization hazard detection, and more
  • each example is provided with source code to the issue and how the sanitizer helps to detect it


Advanced API Performance: Descriptors

  • the article presents a collection of recommendations for descriptor usage on Nividia using D3D12 and Vulkan
  • discusses what are best practices, what should be avoided, as well as pitfalls to avoid


[video] RE:2023 Shader Translator: Implementation and Use

  • the video presents how shaders are translated between HLSL and the target shading languages
  • explains the limitations of existing solutions and why a custom solution was developed
  • shows how DXC is used as a frontend and the steps necessary to convert to GLSL


[video] RE:2023 Is Rendering Still Evolving?

  • the video presents an overview of the RE ENGINE graphics stack
  • shows how shaders/material are authored, how raytracing has been deeply integrated and optimized
  • additionally presents how bindless allowed reduced CPU overhead and shows limitations, risks, and GPU performance impact of the approach
  • briefly covers mesh shaders and visibility buffers


Thanks to Warren Moore for support of this series.


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