- the blog post aims to introduce and explain the ReSTIR technique with a focus on implementation and intuition instead of the underlying theory
- shows how to start with a first implementation and expand it to implement shadows
- additionally shows how to take advantage of temporal and spatial data to reduce noise
![](/img/posts/graphics-programming-weekly-318/restir_intro.png)
- the article presents a breakdown of the primary render passes of the Knockout City frame
- provides a high-level overview of the rendering techniques used, what existing techniques they are based on, and how they modified the techniques to fit the requirements of the game
![](/img/posts/graphics-programming-weekly-318/knockout_city_frame.png)
- the blog post collects advice on how to achieve the most stable presentation results when using DXGI
- presents what flags to set, how to size the queues, and how to make sure the results stay consistent after window/resolution resizes
![](/img/posts/graphics-programming-weekly-318/Advanced-API-series.jpg)
- the blog post presents an overview of the FSR3 SDK improvements
- shows the debug display modes to help during implementation
- additionally shows how it’s possible to run workloads on one queue to make initial implementation easier
![](/img/posts/graphics-programming-weekly-318/fsr3_interface.png)
- the article discusses several ways to query the driver version and how to interpret the results
- presents how to query the information with AMD, and Nvidia-specific API
- and the API standard way exposed by D3D12 and Vulkan
- the interview between DigitialFoundry and some of the developers of the developers from Massive provides insights into the implementation of the game
- discussing raytracing, GI, GPU rendering pipeline, and many more topics
- also provides into the CPU side structure as well as PSO management
![](/img/posts/graphics-programming-weekly-318/avatar_jungle_game.jpg)
- the article presents how to use Simplygon to generate micro-meshes (base structure + displacement information)
- shows examples of what kind of results can be expected from different settings and how it affects memory usage and quality
- presents how the way a model has been created can affect the base resolution vs. tesselation amount to achieve high-quality results
![](/img/posts/graphics-programming-weekly-318/wall007.png)
- the blog provides an introduction to fluid dynamics and rendering
- the implementation is explained with the growing sophistication of the simulation
- an interactive WebGL demo of each stage is provided
- closes with how to apply temperature to color space conversion to enable a first completed fire simulation
![](/img/posts/graphics-programming-weekly-318/fire_simulation.png)
- the video tutorial explains how to sample textures from a vertex shader
- explaining the quality difference and how the mesh vertex distribution and the texture content can significantly affect the quality of the result
- additionally presents the different strategies that are available for the selection of varying texture MIP levels
![](/img/posts/graphics-programming-weekly-318/vertex_shader_samples.png)
Thanks to Jasper Bekkers for support of this series.
Would you like to see your name here too? Become a Patreon of this series.