- the paper presents a modification of histogram-preserving tiling algorithm discussed in issue 45
- it removes the lengthy 3D optimal transport preprocessing step and replaces it with per-channel lookup tables
- aims to reduce clipping and ghosting artifacts
- provides multiple blend modes that treat quality for performance
![histogram_blending.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-106/histogram_blending.png&key=3b913b2f4d5839be2d0613646df06dc6bb079863a714326d00128cefc6c714ba)
- the article explains the problem with the classic GPU geometry pipeline
- mesh shaders allow kernels to execute on sub-parts of meshes and output per-vertex and per-primitive attributes
- amplification shaders are run before, and output decide how many mesh shaders to launch
- shows code examples on how to use the feature in both HLSL and C++ API
- ExecuteIndirect also supports launch mesh shaders from the GPU
![mesh_shader_flow.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-106/mesh_shader_flow.png&key=9ab940bf7f2e7b2c6afb6376c92b9096a6dd4a191ff3e27a40af45a4fd69803f)
- the article explains what has been added with DXR tier 1.1
- it doesn’t require new hardware features but needs a new windows version and driver support
- provides an alternative to that doesn’t use separate dynamic shaders or shader tables
- inline shaders allow all shader stages to trace rays
- additionally added features are DispatchRays generated on the GPU
- growing state objects, GeometryIndex() in ray shaders, flags to skip triangles / procedural geometry
![traceRayInlineControlFlow.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-106/traceRayInlineControlFlow.png&key=b54b3eadd776da6e110e504d8021d03840760a15f80e4f1831db020d31aa88ba)
- new Vulkan guide by Khronos
- a crucial starting point for getting started with Vulkan
- provides an overview of the ecosystem, components of Vulkan, tools, …
- additionally contains links to specific usage patterns and further information
![vulkan_logo.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-106/vulkan_logo.png&key=6e6a1f191b27789d6e6dd6a0c50de7b62a4e2c91095b1ae9b58603d7a4c4c78e)
- the article presents the use-case of the streaming system and texture space shading
- sampler feedback is a hardware feature that allows D3D12 shaders to write to a texture which MIPS has been accessed
- FeedbackTexture2D is a new HLSL resource type to express it
- the granularity of the feedback map is user-controlled
![SFS_MinMip.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-106/SFS_MinMip.png&key=8edd02e1a262f9c4cf718f73afafe56ab98e938596d2228ce78dde82e5c72008)
- Twitter thread about possibilities of texture-space shading
- Sampler Feedback addition in D3D12 can improve the implementations
![TSS_Diagram.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-106/TSS_Diagram.png&key=cc8b8943a3c1267b60a9db746d268c76d9500b698323f3129f5511e051748899)
- the paper introduces a technique for improving the computation time required for lightmap baking
- based on guided sampling and minimum variance-based estimator combination
- the method has a fixed memory footprint and is independent of scene complexity
![ray_guiding.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-106/ray_guiding.png&key=f4bbcbae21d8a8b8c91f0537cc2973e346c0a48d6aedc353b57edfcc66695207)
- the paper introduces a technique for translation of materials between different renderers
- using an image-based metric for uniform and texture based paramterization
![material_transfer.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-106/material_transfer.png&key=976274151cdf7cc72bcd874287ad113170995a0efc4073c5b2294fd59db47ba9)
- the video shows how to modify the SDF of any geometrical shape to make its edges more rounded
![rounding_sdf.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-106/rounding_sdf.png&key=e65b25fbe723a15515469722365fbdfb4bbcbe87ead494ad8fbc5899643c9917)
Thanks to Jasper Bekkers for support of this series.
Would you like to see your name here too? Become a Patreon of this series.