Graphics Programming weekly - Issue 317 - December 10th, 2023


Exploring the design space of remote scene approximation

  • the blog presents a walkthrough of the author’s R&D process when approaching the issue of generation of a scene approximation
  • shows how to analyze the constraints, develop a high-level intuition for the problem, and use this to explore the problem space
  • discusses the different solutions’ pros & cons and shows how to start prototyping and iterating through the process


Use the GPU, Luke!

  • the blog post provides an overview of GPU programming concepts for non-graphics programmers
  • discusses GPU architecture, how to author shaders, how to read/write data, and basics of synchronization
  • For example, d3d11 code for an image converter is provided


Performance Comparison of Meshlet Generation Strategies

  • the research paper presents the performance impact of different vertex clustering (meshlets) on the efficiency of mesh shaders
  • discusses hardware design/limitations that affect considerations when deciding on cluster sizes
  • discusses different algorithms, providing an overview of the technique, implementation considerations, as well as performance differences
  • source code for the meshlet generation is provided


[video] GPU Crash Debugging in Unreal Engine: Tools, Techniques, and Best Practices | Unreal Fest 2023

  • the presentation shows the complexity of debugging issues that cause crashes that originate from GPU issues
  • provides an overview of available techniques and tools and how to combine them to track down issues
  • explains the steps required to track down example crashes from The Witcher


Shader on The Sphere

  • a small website that allows the authoring of GLSL shaders and running them on a virtual “The Sphere” located in Las Vegas
  • contains a couple of examples as starting points


WebGPU/WebGL performance comparison best practices

  • the article provides best practices to follow when comparing WebGL and WebGPU workloads
  • It presents how to verify the underlying API, output configuration, blend modes, and other aspects that can affect performance
  • additionally presents how to report issues after confirming the aspects are identical


[video] How Games Have Worked for 30 Years to Do Less Work

  • the video provides an explanation of techniques used by rendering systems to reduce the number of objects that need to be drawn to the screen
  • shows how frustum culling is only the first step, expand upon the idea by introducing occlusion culling
  • explains how to use the depth buffer to improve culling further and take advantage of temporal information to further enhance culling results


DirectX? On my Linux??

  • brief example blog post that presents how it’s possible to use DXVK to build a native Linux elf that uses the D3D11 API
  • shows how to integrate the necessary steps into Cmake with a SDL based application


[video] Vertex Shader Optimization - Advanced Materials - Episode 33

  • the video tutorial shows how to move computations from a pixel shader into a vertex shader
  • presents two examples and uses them to show the change in visual results when moving from pixel to vertex shading frequency
  • code examples are shown in unity and unreal visual scripting


Introducing Radeon™ GPU Profiler 2.0!

  • the blog post shows the release of the new version of the AMD GPU profiler
  • presents the updated UI and how divergence raytracing pipelines can be visualized better


Our brand-new DirectStorage sample is available now

  • AMD released a sample for DirectStorage that was presented during GDC 2023
  • the code shows how to use the API and how to compress assets to be able to take advantage of the API patterns


Thanks to Eric Haines for support of this series.


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