- the article presents what Hierarchical depth buffers are, what they are used for and how to generate them
- two different techniques for calculating these buffers are presented
- one pixel shader based method and a compute shader variation
- the compute shader variation is designed to only generate a single MIP level, not a full MIP chain
- presents a performance comparison between the two techniques
![](/img/posts/graphics-programming-weekly-125/mips-4-5-6.png)
- the Unity tutorial explains how to implement a cone of sight that is occluded by objects
- intersection with the primary scene depth buffer allows constraining the effect to the surface of the terrain
- a secondary “shadow map” from the position of the player is used to detect occlusion in the cone
![](/img/posts/graphics-programming-weekly-125/cone_of_sight.png)
- collection of link resources from GDC, GTC
- additional resources from Google, Intel, Ubisoft and Khronos
![](/img/posts/graphics-programming-weekly-125/gdc2020.png)
- new Pix for Windows release with support for DXR 1.1, Mesh shaders and sampler feedback
- also includes updated timeline news with the correlation between CPU and GPU work
- additionally adds support for DXIL source-level debugging
![](/img/posts/graphics-programming-weekly-125/pix.jpeg)
- GPU Trace and Nsight Aftermath now supports Vulkan
- Advanced mode for GPU Trace collects more in-depth information over several continues frames
![](/img/posts/graphics-programming-weekly-125/nsight.png)
- the author presents his domain-specific language and how it’s used to extend shaders
- allows all state required for pipeline objects to be encoded as part of the shader code
![](/img/posts/graphics-programming-weekly-125/shader_language.png)
- the article presents best practices for multithreaded command recording with Vulkan
- show performance comparisons of different methods and discusses common mistakes
![](/img/posts/graphics-programming-weekly-125/vulkan_cmd_buffer.png)
- the article contains many best practices for WebGL applications
- discussing a large number of topics including memory estimation, performance guidelines, GLSL tips, texture performance, and constraints
- additionally covers some WebGL 2.0 and Canvas related advice
![](/img/posts/graphics-programming-weekly-125/webgl.png)
- Microsoft and Collabora are working together to implement an OpenCL and OpenGL layer for Mesa that is running on D3D12
- provides a summary of what Mesa 3D is and why API translation is important
- also provides an overview of the implementation
![](/img/posts/graphics-programming-weekly-125/opengl_opencl_d3d.png)
- presentation from Intel that presents how to use multiple adapters with D3D12
- techniques for work-sharing and dealing with synchronization
- offers performance numbers for the presented methods, best practices, and possible problems
![](/img/posts/graphics-programming-weekly-125/multi_adapter.png)
- the presentation provides an overview of Variable Rate Shading (VRS), explaining what shading and rasterization rate are
- shows what settings implicitly disable VRS on Tier 1 intel hardware
- presents how VRS is integrated into Unreal Engine 4, Chivalry II
- gives performance and quality examples for both
![](/img/posts/graphics-programming-weekly-125/vrs_compare.png)
- Nvidia released the RTX Global Illumination (RTXGI) SDK v1.0
- SDK provides a framework for realtime GI for games, it offers full source code
- post contains a video overview of the techniques from GDC 2019
![](/img/posts/graphics-programming-weekly-125/rtxgi.png)
- Nvidia released a new version of the DDS exporter
- improved mathematically correct filtering for mipmap generation adjusted to the content of the image
- support for high-quality BC7 and HDR formats
![](/img/posts/graphics-programming-weekly-125/nvdds-picture-crop.png)
Thanks to Graham Wihlidal for support of this series.
Would you like to see your name here too? Become a Patreon of this series.