Graphics Programming weekly - Issue 106 — November 10, 2019

On Histogram-Preserving Blending for Randomized Texture Tiling

  • 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

Coming to DirectX 12— Mesh Shaders and Amplification Shaders: Reinventing the Geometry Pipeline

  • 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

DirectX Raytracing (DXR) Tier 1.1

  • 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


  • 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

Coming to DirectX 12— Sampler Feedback: some useful once-hidden data, unlocked

  • 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

What are use-cases of Texture-Space Shading in DX12, based on current research?

  • Twitter thread about possibilities of texture-space shading
  • Sampler Feedback addition in D3D12 can improve the implementations

Ray Guiding for Production Lightmap Baking

  • 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

Image-based Remapping of Spatially-varying Material Appearance

  • the paper introduces a technique for translation of materials between different renderers
  • using an image-based metric for uniform and texture based paramterization

[video] Rounding Corners in SDFs

  • the video shows how to modify the SDF of any geometrical shape to make its edges more rounded

Thanks to Jasper Bekkers for support of this series.

Would you like to see your name here too? Become a Patreon of this series.