Graphics Programming weekly - Issue 93 — July 14, 2019


Command buffers for multi-threaded rendering

  • explains a renderer architecture that separates command generation from execution
  • commands have an associated sort key that is used to determine the execution order
  • shows how to handle materials, resource updates and some advice for debugging such a system


I3D19 Keynote: Advances in Rendering, Graphics Research and Video Game Production (Steve McAuley)

  • video recording of the i3D keynote discussed in detail in issue 88
  • additionally contains the QA that is not covered in the slides


Texture Compression in Games

  • survey by the ASTC Khronos group to understand compression use in games


Real-Time Hybrid Hair Rendering using Vulkan

  • a paper about a new hair rendering technique
  • the technique is a hybrid between strand-based rasterizer and volume-based raymarching
  • example implementation is available here


Bindless Deferred Decals in The Surge 2 - Philip Hammer

  • video recording of the talk discussed in detail in issue 87


Rendering Line Lights

  • explains how to implement line lights
  • using a Most Representative Point (MRP) approximation
  • finds the point with the most significant contribution along the line and treats that as point light source


New in D3D12 – Motion Estimation

  • D3D12 motion estimation support exposes access to the motion estimation hardware found in supported GPUs
  • resolved motion vectors are stored in 2D textures, ready to be used by other application stages
  • the article presents the API


Lighthouse 2

  • discusses a new renderer project aimed at providing a high-performance to enable ray tracing research
  • split into layers to provide application logic, scene representation and actual render codes
  • render codes are plugins that can be shared


Using Basis Universal Texture Compression with Metal

  • shows how to compile the Basis command line tool
  • use it to compress a texture
  • and runtime code required to load it into a metal application


GPU timing data in New Timing Captures

  • the timing capture view now supports GPU workload visualization
  • the article shows the different features
  • overlapping GPU work on the same queue and on different queues can be visualized


Using DXC In Practice

  • the article explains how to use the DXC compiler API
  • compile a shader, shader reflection, and signing


SIGGRAPH 2019 Ray Tracing Roundup

  • updated page with all raytracing related sessions, talks and papers from Siggraph 2019


[Twitter] Low-Level Rendering API discussion

  • Twitter thread about modern APIs
  • strengths, weaknesses, opinions, and suggestions for an alternate design

Thanks to Cort Stratton for support of this series.


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