Graphics Programming weekly - Issue 355 - September 1st, 2024


Bringing Explicit Pipeline Caching Control to Vulkan

  • the blog post provides an overview of the new  VK_KHR_pipeline_binary that allows direct retrieval of binary data associated with individual pipelines
  • this extension allows applications to write custom caching, pre-compilation as well as loading mechanisms
  • The article explains what the extension allows, how it’s exposed, and considerations when designing a caching system


The Neural Light Grid: A Scalable Production-Ready Learned Irradiance Volume

  • the paper introduces a new method for precomputing indirect lighting into a novel form of Irradiance Volume
  • It discusses how two approaches, one neural net and one parametric function based on ReLU fields
  • presents performance and memory usage information and presents comparisons against existing solutions
  • additionally discusses the limitations of the technique


Software rasterizing hair

  • the author presents a discussion of how to apply software rasterizing to the problem of hair rendering
  • technique is based on the Frostbite technique from the presentation “Every Strand Counts: Physics and Rendering Behind Frostbite’s Hair”
  • discusses the implementation of the steps that make up the technique, such as spline projection, rasterization using edge functions, as well as interpolation information along the strands
  • WebGPU demo and implementation is available


Jobs

Graphics Rendering Engineer

Relocate, Remote, Kuala Lumpur

General Arcade, a porting and co-development studio that has worked with a wide range of clients, from indies to AAA developers and publishers, including Larian, From Software, Capcom, Devolver Digital, TinyBuild, and others, is seeking a Software Engineer with a rendering emphasis.

This is a great opportunity to work with a passionate engineering team on cutting-edge industry technologies.


Layers All The Way Down: The Untold Story of Shader Compilation Background

  • the blog post describes the reasoning why SDL GPU doesn’t require a single portable high-level shader language
  • focuses on the complexity of the shader ecosystem, how different formats are converted and required to be across platforms


[video] Animated 80s Sunset Pattern - Procedural Shapes and Patterns - Episode 10

  • the video explains how to implement a perspective-animated grid with a color gradient
  • presents how to implement perspective wrap in UV space
  • combines with other nodes to create the effect
  • implementation is shown in Unity and Unreal visual shading languages


The GPU API MkII

  • SDL GPU abstraction has been merged into the main branch
  • provides a D3D11, D3D12, Metal and Vulkan implementation layer


The untimely demise of an image upscaler

  • the article presents the effects of applying ML upscaling algorithms repeatedly to the same image
  • compares against the effect of repeatedly scaling an image using a Lanczos filter


Thanks to Yuwen Wu for support of this series.


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