Graphics Programming Weekly 431


Physically based rendering from first principles

  • The article builds up PBR theory from the physics of light
  • covers electromagnetic radiation, Fresnel equations, Snell’s law, and the microfacet model, distinguishing metals from dielectrics
  • derives the Cook-Torrance BRDF step by step, including the GGX Normal Distribution Function, Schlick-GGX Geometric Function, and Fresnel-Schlick approximation


Fog rendering

  • derives fog color lerp from the volumetric rendering equation
  • extends the derivation to exponential height fog by computing optical depth for an extinction coefficient


Improving Direct Lighting Material Occlusion - Part 2

  • presents a VNDF-based micro-shadowing approach that operates at the microfacet level rather than the geometric surface level
  • introduces a LUT-based real-time approximation parameterized by Visibility, Roughness, as a practical alternative to per-light VNDF sampling


Vulkan memory barriers and image layouts explained

  • explains pipeline barriers as a combination of three orthogonal aspects: execution control, cache control, and image layout transitions
  • details how image layouts abstract GPU-specific compression schemes such as fast clears, delta color compression (DCC), and hierarchical depth (Hi-Z)
  • demonstrates that applications rarely need to track image layouts at runtime; instead, each image has a natural default layout derived from its purpose, requiring only temporary transitions to other layouts


GTC 2026

  • NVIDIA GTC is starting March 16 attend virtually for free.
  • Presenting the latest breakthroughs in generative AI, accelerated computing, simulation technology, and more.
  • My top sessions: OpenUSD Crash Course (DLIW82272), Fundamentals of GPU-Accelerated Workflows (DLIW82265) and more
  • Win an RTX Pro 6000 GPU and see my full session recommendations here


Per Texel Lighting

  • describes a compute shader implementation that calculates lighting per-texel
  • uses barycentric coordinates to map every texel from UV space to world space
  • supports hard shadows and proximity-based dynamic blurred shadows via ray-triangle intersection tests, combining baked and real-time lighting passes into a final texture


Dispatching Hundreds of Thousands of Compute Tasks

  • describes a Vulkan voxel spring-mass simulation for GPU-accelerated audio generation that requires a massive amount of dispatches
  • resolves the command buffer recording bottleneck by recording a short reusable block, dispatches with VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, and submits it multiple times


Introducing Eyot - A programming language where the GPU is just another thread

  • introduces Eyot, a programming language that aims to make offloading work to the GPU simple
  • compiled for both CPU and GPU with the runtime automatically handling memory allocation, kernel compilation, and scheduling


Moving Scaling and Rotating UVs in Godot Shaders | Tutorial

  • beginner-friendly tutorial covering UV translation, scaling, and rotation inside Godot
  • shows the effects of scaling UV coordinates
  • demonstrates anchoring transformations to an arbitrary pivot


[video] Visibility Buffer and Deferred Rendering in DOOM: The Dark Ages

  • outlines idTech8’s new geometry pipeline for DOOM: The Dark Ages
  • using a triangle visibility buffer approach
  • evaluates multiple shadingdispatch strategies, and shares performance guidelines
  • presents how the tiled deferred lighting algorithm supports software VRS


[video] The wedge product | Geometric algebra episode 6

  • introduces the wedge product as the fundamental building block of geometric algebra
  • showing how it constructs basis elements from which all multivectors are formed
  • explains the three key properties of the wedge product and shows how they represent linear subspaces


Thanks to Matt Pharr for support of this series.


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