- the article provides an overview of authoring shaders in HLSL
- shows the building blocks of the language
- additionally shows how to integrate it into the different Unity systems
![](/img/posts/graphics-programming-weekly-184/hlsl_overview.png)
- the article explains what Signed Distance Fields (SDFs) are
- how they are used and what kind of effects can be achieved from a single SDF texture
- additionally shows the implementation of the effects in Unreal visual shader graph
![](/img/posts/graphics-programming-weekly-184/sdf_rings.png)
- the video recording from the Siggraph 2018 has been released
- covering ocean foam generation, shallow water simulation, and flowing water
- cloud rendering based around geometric shapes, blurring, and pixel shading on the projected volumes
- how to generate and simulate the 3D ropes based around parabolics
- tentacle animation driven from exported vertex animation data, with runtime partial resimulation
- brief look at the lightning implementation based on L-Systems
![](/img/posts/graphics-programming-weekly-184/sea_of_thieves.png)
- the blog post presents the setup of a frame for VR rendering (Oculus Quest)
- presents the techniques applied for latency reduction
![](/img/posts/graphics-programming-weekly-184/vr_frame_layout.png)
- the article presents how to distribute Monte Carlo errors as blue noise in screen space
- storing precomputed permutation with runtime retargeted seeds
- includes a compute shader implementation of the retargeting pass
![](/img/posts/graphics-programming-weekly-184/blue_noise_scene.png)
- the post presents an overview of different rendering pipeline architectures (Forward, deferred, visibility, …)
- discussing the different trade-offs of the techniques
- additionally clarifies the choosing the proper techniques depends on many factors and need to be analyzed for each game/team
![](/img/posts/graphics-programming-weekly-184/overdraw_abstract.png)
- suggests using a PCG hash function as default for GPU based hash/random functionality
- brief introduction to the techniques
- additionally provides a link to a paper that goes into more detail about various techniques
![](/img/posts/graphics-programming-weekly-184/pcg.png)
- the video explains how partial derivatives are calculated in pixel shaders
- theses partial derivates are used for UV level selection
- additionally presents for what kind of effects these functions can be used
![](/img/posts/graphics-programming-weekly-184/partial_derivatives.png)
- the article presents an overview of Vulkan secondary command buffers
- clarifying what restrictions exist
- shows how the extension relaxes the restrictions and allows secondary command buffers to inherit the viewport state
![](/img/posts/graphics-programming-weekly-184/inherited_console.png)
- Two Minute Paper presenting an overview of Procedural Physically-based BRDF for Real-Time Rendering of Glints (covered in the week 150)
- shows the different demo applications and how it compares against non-realtime techniques
![](/img/posts/graphics-programming-weekly-184/glitter_brdf.png)
- the author presents his learning about Gamut Clipping
- based on the Oklab color space
- additionally provides an interactive shader toy to allow experimentation with the technique
![](/img/posts/graphics-programming-weekly-184/gamut_zoom_out.png)
- the post presents a divergence-free noise generation technique (such as curl noise)
- the presented technique needs only 2 gradients (curl noise needs 3)
- shows how to optimize the technique and compares it to other noise types
![](/img/posts/graphics-programming-weekly-184/divergence_noise.png)
- the article shows how to compact DXR acceleration structures
- the process is run on the GPU over a few frames
- presents how the process works, what synchronization and lifetime factors need to be considered
![](/img/posts/graphics-programming-weekly-184/compaction-workflow.png)
Thanks to Joakim Dahl for support of this series.
Would you like to see your name here too? Become a Patreon of this series.