Graphics Programming weekly - Issue 320 - December 31st, 2023


Low-level thinking in high-level shading languages 2023

  • the article presents how different shader constructs are converted into instruction on RDNA2
  • shows the impact on code generation that small changes can have
  • what can be optimized by today’s compilers and what cannot be optimized


3D shape matching with quaternions

  • the article discusses a technique that calculates the transformation required between a known base and target position
  • applies this technique to a 3D cloth simulation to calculate the shading tangent and normals


Creating a Directed Acyclic Graph from a Mesh

  • the article discusses how to generate LODs using a meshlet-based Directed Acyclic Graph approach
  • talks about the data structure, the approach, and implementation details of the model
  • mentions considerations for choosing meshlet sizes as well as LOD selection using the graph


[video] How do Video Game Graphics Work?

  • the video provides a great visual breakdown of the rendering pipeline
  • covers how scenes are represented, how the source triangles are transformed, rasterized, and shaded to finally appear on screen
  • additionally provides a small overview of more recent techniques such as ray-tracing and DLSS


Beyond SAH — Building Optimal BVHs

  • the article provides an overview of different heuristics to choose from when building a BVH for raytracing
  • compares the ray tracing performance of the heuristics in a test scene
  • additionally provides ideas for future research in the area


Dynamic diffuse global illumination

  • the article provides a walkthrough of the practical tweaks and tricks used to implement a ReStir-based global illumination system into a research framework
  • discusses the caching strategies, light leaking improvements, and performance optimizations


Denoising raytraced images using OIDN

  • the article provides insights into how to convert OpenImageDenoise into HLSL compute shaders
  • shows a high-level overview of the technique
  • presents a couple of steps to reduce the performance cost


Thanks to Giuseppe Modarelli for support of this series.


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