- the article shows an overview of deferred shading techniques
- alternative structures and methods for optimizations are presented
- using compute shader for conservative rasterization for spot and sphere lights
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-115/pointcull.jpg)
- new release of AMD profiler that introduces a new pipeline overview view and adds new overlays for the wave occupancy view
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-115/EventTimelineOverlays.png)
- the article shows how to use RenderDoc to identify issues and how to alleviate them
- most advice is not Occulus specific and talks about shader complexity, LOD, culling, and empty draws
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-115/batching.png)
- a short Unity tutorial that explains inverse lerp function
- a function that given value in an input range returns a normalized 0-1 value
- additionally shows how to combine lerp and inverse lerp to allow range remapping
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-115/gradient.png)
- the latest Nvidia driver update introduce Variable Rate Supersampling for D3D11 + MSAA applications
- driver side implementation that allows games to render with higher quality in the center of the screen
- the article presents and compares MSAA and SSAA
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-115/VRSS_3.png)
- the second part of a shadertoy video tutorial
- the tutorial extends the scene to render multiple parallax layers of mountain ranges
- how to draw a moon
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-115/over_the_moon.png)
- this video tutorial shows how to derive the signed distance field for a line segment
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-115/sdf_line_segment.png)
- next part in Unity tutorial series about the rendering of sand
- adds support for sparkling based on microfacets based on a texture with precomputed random values
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-115/sand_glitter.png)
- a brief summary of mipmapping
- shows how mipmapping causes details in glitter effect of sand to be lost in the distance
- proposes a manual mipmapping strategy where the texture coordinates are adjusted to keep a constant texel density
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-115/mip_map_folding.jpg)
- the article presents how to write an outline shader for Unity
- uses color, normal and depth information
- implemented as a post-processing effect
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-115/outline_shader.png)
- the Unity tutorial shows how alpha to coverage allows improved edges on vegetation
- how to implement alpha to coverage into a shader
- shows how to adjust mipmap calculation to preserve small details with this method
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-115/alpha_to_coverage.png)
- update to Vulkan database shows the first driver version an extension/feature has been introduced
- a more natural way to compare extension support across different platforms
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-115/feature_platforms.png)
- the article shows how to use the WebGPU API to implement everything required to render a colored triangle
- this includes shader loading, mesh creation and command generation
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-115/raw_webgpu.png)
- Twitter thread about the authors’ recommendations about learning graphics programming
![](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-115/how_to_learn_graphics_programming.png)
Thanks to Stephen Hill for support of this series.
Would you like to see your name here too? Become a Patreon of this series.