Graphics Programming weekly - Issue 60 — October 28, 2018

Mipmapping with Bidirectional Techniques

  • brief overview about what mips are and how to calculate mip selection in a rasterizer
  • explains ray differentials, a technique that can be used for mip selecttion on primary rays
  • discussion of problems with ray differentials on other ray types, possible solutions and look at what other production renderers use
  • solution using a distance to camera metric and presenting the results by comparing against other techniques

Entity-Component-Systems and Rendering

  • explains the plugin architecture that enables efficient implementation of high-level graphical features
  • how to interact with the scene, culling, scheduling, and GPU execution

DXC Cookbook: HLSL Coding Patterns for SPIR-V

  • SPIR-V shaders can only access global resources
  • HLSL is very flexible with resource usage
  • this post shows what usage pattern DXC is able to transform into legal SPIR-V and what patterns cannot be expressed in SPIR-V

River Editor: Water Simulation in Real-Time

  • walkthrough of the development of real-time GPU based water simulation
  • discusses simulation experiments and algorithms used
  • a brief look at the lighting of the water

Video Series: Practical Real-Time Ray Tracing With RTX

  • post that provides links to talks with summaries about ray tracing on Nvidia RTX hardware
  • difference between rasterization and ray tracing
  • the structure of a real-time ray-tracing application and the components required
  • how to extend the raster-based application with ray-tracing

Turing Texture Space Shading

  • overview of texture space shading
  • technique decouples shading from rasterization rate
  • Turing hardware provides support for computing derivatives in compute shaders and exposes texels that need to be shaded
  • linked video explains the implementation of a texel space shading pipeline

MinLod: A Cheap&Simple Method to Increase Texture Details at Acute Angles

  • look at how to adjust mip selection to favor noise over more detail at acute angels

Visualizing quaternions - An explorable video series

  • visual and interactive explanation of quaternions and stereographic projection

niagara: Parsing SPIRV

  • usage of descriptor update templates
  • SPIRV parser implementation

niagara: Meshlet culling

  • cone culling in task shaders
  • two implementations, one using shared memory atomics and one with other subgroup operations

HLSL - Spherical-Harmonics

  • collection of HLSL functions to use spherical harmonics
  • Mathematica notebook to verify and visualize SH functions

SIGGRAPH 2018 Course: Machine Learning and Rendering

  • all content from the SIGGRAPH 2018 course has been published


  • console tool to get collect capabilities information from DXGI and Direct3D 12

If you are enjoying the series and getting value from it, please consider supporting this blog.

Support this blog