- presents a technique that improves the handling of nested dielectrics in ray-tracing
- example for nested dielectrics is “ice cubes in a drink in a glass”
- tracking entering / existing geometry + priority system to handle overlap cases
![nested_ice.0.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-91/nested_ice.0.jpg&key=a9f4824ec8be9714f0fbe7948390fef21a56709bfee4ef4a0c46b44458fa2e0b)
- the tutorial shows to create custom nodes in Unity Shader Graph
- shows to implement Vertex painting using shader graph and use it for a variety of effects
![Gsd1LLr.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-91/Gsd1LLr.png&key=2925e791859b7a64a5c453ca1f8c74b5fb08956ee030b945a23356dd76eea330)
- presents an algorithm for scheduling work in a render graph architecture
![render_graph.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-91/render_graph.png&key=b71a4a4643f0b4f29217098388744e9c897ee5816d536dd0eae17594ec729f5b)
- extension for WinDbg that enables debugging of Device Removed Extended Data
- the post shows how to track and find the reason for a GPU device lost error caused by a page fault
![dred_debug.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-91/dred_debug.png&key=7cab738147d5a5fdc635bc9a693dd53129a652b53974e46782ed297f1445d358)
- presents how to use the Ambient Dice to store the GGX specular component
- alternative storage scheme instead of spherical harmonics
![Sponza-Metals-Metallic-AmbientDiceHemiNN-Crop.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-91/Sponza-Metals-Metallic-AmbientDiceHemiNN-Crop.jpg&key=9d00a678e7237387818d117eb66acf47897b1cb3d9b69f68ea02e2d4feeb6830)
- derives weighting functions for Multiple Importance Sampling (MIS) that minimize the variance of an MIS estimator
![konda-2019-siggraph-optimal-mis-teaser.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-91/konda-2019-siggraph-optimal-mis-teaser.jpg&key=b87fd7fada7d63c5ada92ffd00d6d98afc05bb422e3130b0ee23a42cff056c73)
- a new strategy for the generation of stratified samples
- using the concept of orthogonal arrays from statistical experiment design
![array_sampling.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-91/array_sampling.png&key=40d92e38766b1808b9058d8679ae8442bc45579b934e17369eff6a89207250d4)
- the article explains how to generate high-quality blue noise
![bluevc_1.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-91/bluevc_1.png&key=68c6faafa905d134ab8f06ac1d49a49d33d4f0e6effbc7679631ca843954245a)
- next part in the article series about the implementation of a scriptable render pipeline in Unity
- adds support for multiple LOD levels per object
- switching between LODs is implemented using a dithering transition
![tutorial-image.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-91/tutorial-image.jpg&key=130f1073247c191ad0798ceb57f5226fd5b76498f02056f07b67d26fdb9488d0)
Thanks to Denis Gladkiy for support of this series.
Would you like to see your name here too? Become a Patreon of this series.