Graphics Programming Weekly 439


Writing a bindless GPU abstraction layer

  • introduces Loon GPU, a bindless abstraction layer implemented on Vulkan 1.3 and Metal 4
  • exposes GPU allocations as device pointers, removes explicit vertex buffers, bind groups, and image layouts
  • discusses Slang shader portability issues and the tradeoffs of simplifying the GPU API surface


Revealing NVIDIA Closed-Source Driver Command Streams for CPU-GPU Runtime Behavior Insight

  • A paper that recovers NVIDIA’s closed-source userspace driver command stream by instrumentation
  • shows how command-level visibility isolates CUDA data movement and CUDA Graph performance from driver overhead


Making cross-platform SIMD code pleasant

  • describes a typeless SIMD design that aims to make cross-platform SIMD code easier to write and debug
  • advocates SSA-style temporary naming and treating registers as bags of bits instead of strongly typed vectors
  • shows a naming convention and ABI-aware interface that scales from scalar reference implementations to wider vector widths without platform-specific clutter


Colored Shadow Penumbra

  • shows how to integrate a colored saturation effect into shadow penumbrae for dynamic lights in Unreal Engine 5
  • the technique desaturates the lit color, then restores a configurable saturation amount based on shadow amount


Quantizing tangent frames

  • evaluates compact tangent frame encodings and compares octahedral, quaternion/QTangent, tangent-angle, and diamond formats
  • recommends storing orthogonal frames with bitangent reconstruction and choosing bit allocations that favor practical normal/tangent quality


D3D12 LinAlg Matrix Preview

  • previews the D3D12 LinAlg Matrix API, a unified successor to Cooperative Vectors and WaveMMA for hardware matrix acceleration
  • introduces three matrix scopes: Thread, Wave, and ThreadGroup
  • explains that SM6.10’s high-level Matrix APIs compile to a mid-level driver-facing API so hardware can optimize based on context and matrix use case


Announcing Shader Model 6.10 Preview and AgilitySDK 720 Preview

  • announces Shader Model 6.10 support in AgilitySDK 1.720-preview and DXC 1.10.2605.2
  • introduces HLSL features such as linalg::Matrix, Group Wave Index, Variable Group Shared Memory, and raytracing intrinsics TriangleObjectPositions and ClusterID
  • also presents the D3D12 batched command list APIs that allow overlapping operations such as clears and copies


I3D 2026 Papers Preview

  • video overview of the papers presented at I3D from May 13 to 15
  • highlights six paper groups across VR, character behavior, model improvements, geometry, rendering, and performance improvements


How rendering changed | Sebastian Aaltonen

  • deep dive interview with graphics programmer Sebastian Aaltonen on rendering evolution, game industry career, and future graphics API ideas
  • covers his work on Claybook & Second Order and Unity technical struggles
  • presents a deeper discussion of the “No Graphics API” vision
  • argues that modern APIs have become overly complex and advocates for simpler, hardware-friendly GPU memory access with reduced driver abstraction


Programmer Art Can be Beautiful

  • presents Material Blending to smoothly transition materials for effects like cooking a donut without complex animation
  • shows how to manipulate vertex data with Jobs, demonstrates shader-based vertex displacement to raise glazed areas above the dough mesh, and uses noise textures for tactile surface detail
  • focuses on programmer-oriented techniques to create unique visual effects and presents them in other use-cases too


Thanks to Jasper Bekkers for support of this series.


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