- the article presents an overview of the composable declarative GPU authoring
- shows how chain compute dispatches, handles historical data as well as visualizes temporary results
- it additionally discusses how the tree representation allows internal composability and enables background optimizations
![](/img/posts/graphics-programming-weekly-249/transformcontext.png)
- the article continues the series of translating DXIL to SPIR-V for use with vkd3d-proton
- the part covers how to convert structured control flow. DXIL is unstructured and needs to be converted into structured SPIR-V
- discusses the limitations, oddities and solutions developed to make the conversion work and debuggable
![](/img/posts/graphics-programming-weekly-249/structured_spirv.png)
- the article presents how to integrate new compilers into the compiler explorer infrastructure (which can be run locally)
- discusses the DXC and AMD Radeon™ GPU Analyzer integration
- shows the limitations of the existing integration
![](/img/posts/graphics-programming-weekly-249/compiler_explorer.png)
- the video tutorial presents how to write universal rendering pipeline shaders in HLSL
- shows how to implement simple diffuse & specular lighting, explaining the render pipeline as the author goes along
- it also shows how to integrate shadow rendering
- additionally presents the debugging tools available
![](/img/posts/graphics-programming-weekly-249/unity_smoothness.png)
- the article explains the underlying theory for Bézier curves and shows how the different component interacts
- presents how to express the curve mathematically so that intersections between a ray and the curve can be found
- shows how to use the information to detect if a pixel is inside or outside of a shape
![](/img/posts/graphics-programming-weekly-249/bezier-labels.png)
- the article discusses the different approaches that were tried during the development of lumen
- presents tradeoffs of the different techniques and how the decision was made on which one to use
- it additionally shows how the arrival of Nanite changed several variables significantly and therefore made a new evaluation of approaches necessary
![](/img/posts/graphics-programming-weekly-249/lumenprototyperesults.jpg)
- the video presents the foundation how to general ReSTIR sampling
- this allows resampling with importance sampling for arbitrary domains
- continues to show how to apply these concepts to allow ReSTIR for path-tracers
- shows how to allow reuse across paths, discusses considerations and limitations
![](/img/posts/graphics-programming-weekly-249/path_shift.png)
- the video shows how to implement a Truchet effect using shadertoy
- presents the whole implementation from start to finish, showing all intermediate steps
- it additionally discusses how to extend the concepts and possible future extensions
![](/img/posts/graphics-programming-weekly-249/art_of_code_weave_pattern.png)
- the paper presents how to adapt multidimensional adaptive sampling for interactive real-time ray tracing
- applies the technique to stochastic effects such as motion blur, depth of field, and indirect illumination
- presents a performance comparison against Halton sampling
![](/img/posts/graphics-programming-weekly-249/muti_sampling.png)
- the OpenGL fog rendering series extends the previous works and implements Layered and animated fog
- explains the underlying theory before showing the implementation using GLS
![](/img/posts/graphics-programming-weekly-249/layered_fog.png)
- the video tutorial shows how to implement cartoon outlines in screen space
- discontinuities in scene depth and normals are used to detect edges
- the resulting filtered edge mask is used to apply outlines around objects
![](/img/posts/graphics-programming-weekly-249/toon_outline.png)
Thanks to Aras Pranckevičius for support of this series.
Would you like to see your name here too? Become a Patreon of this series.