Graphics Programming Weekly - Issue 410


Figma rendering: Powered by WebGPU

  • details Figma’s migration from WebGL to WebGPU
  • presents challenges in modernizing the graphics interface, including shader processing, uniform buffer management, and cross-platform deployment
  • discusses the rollout strategy with dynamic fallback systems and device compatibility testing


NVIDIA Vulkan Ray Tracing Tutorial

  • step-by-step tutorial series on implementing Vulkan ray tracing with KHR extensions
  • guides readers through acceleration structures, ray generation, and shader binding with practical code examples
  • highlights recent improvements: Vulkan 1.4 support, VMA integration, Slang shader compilation, glTF 2.0 asset loading, and a cleaner codebase


Agility SDK 1.618: Advanced Shader Delivery and 1.716 out of preview

  • announces new DirectX Agility SDK release featuring the advanced shader delivery system
  • presents the various steps of the process
  • talks about pipeline data collection, offline compilers, as well as new APIs


PIX 2509.25 – support for new D3D features and devices, and misc bug fixes

  • PIX tool update with support for tracking driver & application combination specific state
  • supports recreation of resource at specific virtual addresses for improved playback
  • additionally contains various other fixes


Animating geometry with AMD DGF

  • introduces animation capabilities for AMD’s Dense Geometry Format (DGF) with linear vertex blending techniques
  • demonstrates the animation pipeline that overwrites vertex positions within DGF blocks each frame
  • shows quantization approaches and the effects on performance


Towards GPU Parallelism Abstractions in Rust: A Case Study with Linear Pipelines

  • research paper introduces high-level GPU programming abstractions in Rust using procedural macros for automatic code generation
  • presents linear pipeline parallel patterns for simplified GPU execution
  • benchmarks against manual OpenCL implementations


I Misunderstood Rejection Sampling All This Time

  • clarifies common misconceptions about rejection sampling techniques in statistical computing and graphics
  • explains the mathematical foundations and implementation considerations
  • showing how to combine multiple sample distributions to improve sample efficiency


Anisotropic Scaling in Indiana Jones and the Great Circle and DOOM: The Dark Ages

  • The blog post discusses performance issues related to Anisotropic samples found on Indiana Jones and the Great Circle, as well as DOOM
  • presents an algorithm that can be used to vary AnisotropicSampleCount in a dynamic resolution scenario
  • additionally brings up the option of using the same technique for values where infrequent change, particularly with a moving camera, may go unnoticed


Graphics Programming Conference - Schedule

  • announces the schedule for the Graphics Programming Conference in Breda, Netherlands, later this year
  • covers a large variety of topics


[video] Shader Optimization - Game Optimization - Episode 10

  • video tutorial focusing on GPU shader optimization techniques
  • covers common shader bottlenecks, how to identify performance issues, and possible solutions
  • presents optimization scenarios in both Unreal and Unity


[video] Physically Based Rendering In OpenGL Using GLTF2

  • comprehensive tutorial implementing physically based rendering (PBR) in OpenGL using the GLTF 2.0 format
  • covers material property handling, including albedo, metallic, roughness, and normal mapping
  • demonstrates proper lighting calculations and implementation of the PBR shading model


[youtube] CRT Spatial Scaling

  • starts by providing an overview of the current landscape of upscaling techniques and associated performance and quality effects
  • explores CRT display emulation techniques, focusing on spatial scaling algorithms
  • demonstrates methods for accurately reproducing retro gaming visuals on modern high-resolution displays


Thanks to Stephen Hill for support of this series.


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