- explanation of frame stuttering
- provides videos and frame by frame comparisons of what is causing the stutter
- explains how the discrepancy between measured time and actual present time causes the studdering issue
- current state of graphics API ecosystem in solving this problem
![frame_timing.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-49/frame_timing.png&key=67d41a57f1881cf406ed1be5552c31c12894c10975ecaf369a2a7e9bd27facc2)
- shadertoy implementations of multiple noise types
- the comments describe improvements and possible optimizations to the used noise types
![webgl_noise.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-49/webgl_noise.png&key=5f01a2e71e76b086768788725a3ba9795d116023dd68ab83e51c96c34adffaed)
- shadow technique for local area lights
- based on the generation of view independent point clouds from dynamic triangle meshes and the rendering of multiple depth maps simultaneously
- proposes two different implementations
- performance and quality comparison against PCSS (percentage closer soft
shadows) and Multi-view rasterization (MVR)
![shadow_icon.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-49/shadow_icon.png&key=6a1a628f4a7a5d22ac122aeedfda72fea0f1063b34aaf48bbd94a29abf865319)
- part 3 of the series about Grassmann for computer graphics
- combines the concepts of bi-vectors / tri-vectors with dual vectors
- explaining use cases
![two_form.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-49/two_form.png&key=87e90ad952b696b6f9a4cf43767029a45b4ce54f8bf29f11e481c111f6de5688)
- explains how GPUs are able to execute multiple execution streams to hide memory latency
- how the different workloads of CPU and GPU lead to differences in the design of caches
![more_compute.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-49/more_compute.png&key=4b7c4366d810755f70b2fe38697b94aae3afa10d4157bd90e46811834c8483f1)
- added support for visualizing the content of DirectX Raytracing shader tables
- able to detect invalid data in the table and warn about it
![ShaderTableViewer.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-49/ShaderTableViewer.png&key=a710e00c7fcad970ef7b83ffb5e168fcf474ef40371fecd9ad627e5b131cc456)
- explanation of a geometry shader in Unity that converts a triangle mesh into camera facing quad particles
![particles.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-49/particles.png&key=7a9646ce756116644940e8ffa2e4c073bc28985f14d0712a2e8653280a2ab25d)
- explains how to calculate luminance and a very brief overview of the human vision
![luminance.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-49/luminance.jpg&key=065552d648b34a43b33620f6cdeb8bf04ec7f9fa574dce5bfc96e839d7788368)
- look at image shaders that modify brightness, contrast, exposure, gamma or saturation using Metal
![macaronsBlue.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-49/macaronsBlue.jpg&key=176dafbdfacb07240541b3aeac59b660767b449d72aac61a6bfbfae977f387c7)
- overview of water rendering starting from the early 90s to the early 2000s
![water.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-49/water.png&key=ff405cb9c86c5b790e00b5516a10a94e3098f55dcc2da00a24d124ae1eadccac)