Graphics Programming weekly - Issue 379 - February 16th, 2025


Learn Shader Programming with Rick and Morty

  • The article provides a step-by-step tutorial that presents how to create the head of Rick using a pixel shader.
  • Introduces the necessary SDF operations slowly and shows how to combine them with animation.
  • Each step is presented as interactive shader challenges that can be edited to learn along the way.


[video] Simple Lighting Model - Custom Lighting Models - Episode 4

  • The video tutorial presents how to combine specular, diffuse, and ambient lighting to create a custom shading model.
  • Presents the various stages, how to ensure correct vector spaces, and the effect of various parameters.
  • The implementation is shown using Unity and Unreal visual shader graphs.


Chromaticity preserving analytic approximations to the CIE color matching functions

  • The paper presents an analytic approximation for the CIE 1931 color space and the more modern CIE 170-1:2006.
  • Shows the approximation process and how it compares against existing approximations.
  • Source code is available in C++ and Python.


Surface-Stable Fractal Dither on Playdate

  • The article provides a deep dive into getting Surface-Stable Fractal Dither running on a simple 1-bit display console.
  • Presents a breakdown of how the dithering algorithm is created from various passes.
  • Discusses various software rasterization methods and how they compare to the GPU reference implementation.
  • Additionally, it presents several applied optimization steps and how they affect performance.


Anno 1800: Shadows of Beauty

  • The article discusses a small trick used by Anno 1800 that always aligns the sun’s direction relative to the camera.
  • Presents how much it affects the scene’s beauty as it prevents worst-case lighting setups.


WebGPU - Notes

  • The presentation covers a complete walkthrough on using WebGPU from JavaScript.
  • Starts by explaining the basics and proceeds from a high-level overview into the implementation details.
  • Covers the full rendering pipeline, including shader authoring.


[video] Ray Tracing Harmonic Functions (Extended Talk)

  • The talk introduces a novel sphere tracing algorithm tailored for harmonic functions.
  • The method allows for larger step sizes than traditional ray marching.
  • Demonstrates applications in visualizing surfaces reconstructed from point clouds and polygon soups without requiring linear solves or mesh extraction.
  • Expands visualization capabilities to handle nonplanar polygons with holes and complex mathematical objects such as knots and links.


Vulkan GPU-assisted validation startup time improved by >10X

  • The blog post describes how LunarG optimized the startup time of GPU Assisted Validation.
  • Combines driver hints and more fine-grained validation code and moves logic to later stages in the application lifecycle.


Fast GPU Matrix multiplication

  • The article provides a detailed walkthrough of optimizing a 4096x4096 matrix multiplication for RDNA3.
  • Shows how to calculate theoretical expectations for performance and compares against all tested implementations.
  • Presents how a highly optimized routine can be 50x faster than a naive implementation.
  • Always present hardware performance captures and explain how to understand them and optimize the bottlenecks observed.


The Vulkan SC Emulation driver stack

  • The blog post introduces the Vulkan Safety Critical Emulation stack.
  • Shows how the stack interacts between the user code and driver code.
  • Is meant to guide developers in developing applications by emulating SC constraints on consumer hardware.
  • The source code for the stack is open source.


Thanks to Cort Stratton for supporting this series


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