- the presentation provides an in-depth overview of shadow techniques for real-time applications
- discusses what shadow maps are, how they are rendered, stored and used
- provides an overview of common problems and solutions
- additionally provides an overview of more advanced techniques such as filtering and cascaded shadow maps
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-130/shadow_map.png)
- the article presents the definition of a physically-based material that is energy conservation and reciprocity
- reciprocity is essential to be able to use bi-directional path tracing techniques
- looks at common methods such as Pre-Filtered Environment Maps, several Dielectric Material implementations presenting if they are reciprocal and/or energy-conserving and explaining why
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-130/consistency.jpg)
- the article presents how to implement a prefix sum using Vulkan compute shaders
- looking at memory model, dynamic allocations and subgroup controls
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-130/vulkan.png)
- the Unity tutorial explains how to use the depth texture to apply a localized toon shading effect
- shows how to sample the depth texture, unpack the data and use it in a shader
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-130/depth_based_post.png)
- new Nvidia extension for D3D12 that provides shaders the possibility to query timestamps from within a shader
- the article explains how to use this technique to visualize the performance of TraceRay( … ) with a heatmap
- shows how to enable the extension in C++ and how to integrate it into a shader
- comparable to the VK_KHR_shader_clock extension
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-130/heat_map.png)
- next part in the Unity Tutorial series about implementing a custom scriptable rendering pipeline
- adds support for more complex materials such as details maps and normal mapping
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-130/complex_material_srp.jpg)
- the video provides an overview of Variable Rate Shading (VRS)
- present an overview of VRS implementation in Wolfenstein New Blood and Gears: Tactics for performance and quality
- discusses considerations in how difference workload affect the performance gains that can be expected from VRS
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-130/vrs_df.png)
- the article presents an alternative execution model that would be able to improve upon Timeout Detection and Recovery mechanism found in the OS
- after 2 seconds the OS will terminate GPU processes and cause a device lost event
- the proposal is to make the OS GPU process-aware which allows applications to start independent GPU processes that would behave similarly to CPU processes
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-130/DetailsTDR.png)
- the article provides an overview of the WebGPU API
- covers the state of the implementation on Firefox and presents the next steps currently in progress
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-130/webgpu.png)
- the article presents the Wrapped lighting technique to emulate subsurface scattering
- the method is aimed for use with forward shading on the Oculus Quest
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-130/wrapped_diffuse.png)
- this part of the article on volumetric rendering shows how to model a volume using an SDF inside of shadertoy
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-130/mergedGroundPlane.jpg)
- the second part of the article presents how to render the volumetrics
- calculation absorption, Self-shadowing, quality improvements, and a few optimizations
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-130/NoiseDensity.jpg)
- Twitter thread about the complexities of different light measuring units
- provides a UE4 tool to simply conversion between units
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-130/light_unit_conversion.png)
Thanks to Daniel Fortes for support of this series.
Would you like to see your name here too? Become a Patreon of this series.