- the Metal shader API now supports function pointers
- the talk provides an overview of the compilation models and performance considerations
- function tables can be passed via argument buffers t the GPU
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-138/metal_functions.png)
- the Unity tutorial explains how to implement a moving scanline post-processing effect
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-138/scanline.png)
- the video provides an overview of the D3D12 frame-level profiler
- walkthrough of an example capture of Wolfenstein scene and uses it to explain how to use it to identify performance issues
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-138/gpu_trace.png)
- the article explains several different methods that can be used to manage shader constant data
- provides a brief overview of each technique and compares performance on Mali GPUs
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-138/dynamic_descriptor_set_performance.jpg)
- the article explains a method that stores shader instructions encoded into a texture and uses a runtime shader to interpret the data
- shows an experiment what happens if the texture is filled with random information
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-138/shad2_title.png)
- the program for the online conference taking place this week
- all videos are available on youtube and linked from this program
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-138/egsr_2020.png)
- a twitter thread that lists new features Metal API features and provides links to documentation for each topic
- including Programmable Blending, Indirect Command Buffers for Compute and many more
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-138/wwdc20.png)
- the GDC talk discusses the voxel-based lighting and shadow system
- how to handle performance vs. quality tradeoffs in algorithms
- uses MSAA to increase the effective resolution on shadow maps on higher-end devices
- how to implement gaussian blur efficiently with async compute
- presents shader optimizations for PowerVR hardware
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-138/roblox.png)
Foundry are looking for a seasoned software engineer specialising in Real-Time Rendering to join our existing team of rendering experts working on rendering technologies across our portfolio. We’re looking for a self-motivated developer with strong C++ and GPU graphics programming skills. Experience in software development lifecycle and knowledge of software engineering best practices are also required. As a Principal Software Engineer, you will help to ensure the quality, scalability, and extensibility of the code that we’re writing.
![](https://www.jendrikillner.com/img/jobs/logo_foundry.png)
- the article presents a frame breakdown of the PC version of Red Dead Redemption 2
- covering g-buffer breakdown, environment map filtering, shadow pipeline, and more supporting systems
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-138/read_dead_redemption2.jpg)
- NVidia driver update adds support for DXR 1.1, VRS Tier 2, mesh shaders and sampler feedback
- additionally now supports Vulkan 1.2
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-138/nvidia_driver.jpg)
- a video from WWDC 20 provides an overview of the GPU pipeline, what hardware counters are available and how to use them understand application performance bottlenecks
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-138/apple_counters.png)
- video from WWDC explains the basic building blocks of the Metal ray tracing API and how to support more complex materials
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-138/hair.png)
- the article provides an overview of several problematic mesh characteristics that cause an issue for ray tracing and how to resolve them
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-138/non-optimal-geometry-splitting.png)
Thanks to Cliff Owen for support of this series.
Would you like to see your name here too? Become a Patreon of this series.