- a new technique for continuous level of detail generation of point clouds, designed for VF applications
- additive point storage, each point is assigned to one level
- compute shader used to iterate over all points, time-sliced over multiple frames, and builds a new vertex buffer that only contains required points
- each point is classified into distinct LOD levels + a random factor, this makes it possible to allow the set to be changed continuously
- points have a blend zone to reduce aliasing, in this zone point sizes are adjusted so that they gradually are blended to the final extent as the camera approaches the points
![clod.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-76/clod.png&key=70ff024dc84af6f70e4c9795c8220bf8c2d4d1248462b5a66c771d671c0c1c61)
- explains how the lightning effect in The Witcher 3 has been implemented
- based on a tree-like mesh that is expanded based on the normals and additive blending
![witcher3_lightning.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-76/witcher3_lightning.jpg&key=c03124a12d8a81d3908a0901cca2c53f3770a03c01a8b59dd35c822bd41813a6)
- explanation of half-pel filters
- shows properties of different filters common in video compression and how they perform when applied multiple times
- common filters are “unstable” when executed multiple times
- the feedback loop causes the results to be oversharpened until the results become unrecognizable
- presents a filter that does not have a feedback loop problem and converges to a slightly softened but stable result
![stable_filter.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-76/stable_filter.png&key=0d4eee59d9e12144435654fe1343138253255ddf0fc04781eda855c4d7667d1f)
- survey about the Vulkan memory allocator library
- how it is used, how the experience is and what features are you used or are missing
![vulkan.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-76/vulkan.png&key=59bcaaca50f5e2f7b0ae60bad093c2698a29477f77749588fb501f3b1ee29754)
- getting started guide that shows how to use the bgfx library
- initialize the library and render a cube to the window
![bgfx.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-76/bgfx.jpg&key=bf4a9f4c8bbfac88c1687440520386782700d5e33ddd7f29309d4e7eb35e8399)
- overview of the state of graphics APIs in Rust
- presents wgpu-rs, a higher level API based on the WebGPU API that is being designed for use in the browser
![wgpu-shadow.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-76/wgpu-shadow.png&key=3e4ad3989420842264cac5f376d549ad347980cbc98ef195381d188f0bb41721)
- overview of particle system samples that have been created with the Visual Effect Graph in Unity
- including small video demonstrations of most effects
![particles_unity.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-76/particles_unity.png&key=71f3a37a980113e9f1f04744fb7573f495da869dcc36dfbdce6bcac930cc6401)
- an unofficial updated version of Ray Tracing Gems with fixes for the errors found in the original book
![raytracing_gems.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-76/raytracing_gems.jpg&key=f0d1e90100dd07d9314ab65355b8b6d8baaeddaedc4db447209abcbdf1bbe740)
- presents how to find a GPU crash on a low-end Vulkan device
- caused by a GPU driver timeout, requiring the work to be split into smaller submits
![vulkan_example.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-76/vulkan_example.png&key=ac5da3b1b0aa3ad52cb4b7c724b788ccb52c8d398bfecfe246319f377b00efff)
- overview of all sessions AMD is involved with during GDC 2019
- will later also include links to the slides as they become available
![gdc_logo_gpuopen.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-76/gdc_logo_gpuopen.png&key=871aca7161b36abf3933dbce04850cd718df58ad6b2ae2388c31645992614ee3)
Thanks to Aras Pranckevicius for support of this series.
You would like to see your name here too? Become a Patreon of this series.