Graphics Programming weekly - Issue 81 — April 21, 2019


Write-up: Magical Marbles

  • explains how to create a layering parallax effect to simulate the inside of a marble using ray marching

A tour of Granite’s Vulkan backend – Part 2

  • presents how memory, object lifetime and command buffers are managed
  • resource lifetime is bound to a frame context
  • frame context tracks which resources can be deleted once the frame has been consumed


GDC 2019 Presentation Links

  • PDFs for all AMD presentations from GDC 2019 have been posted


Machine Learning Acceleration in Vulkan with Cooperative Matrices

  • shows the Cooperative Matrix extension for Vulkan
  • the extension enables matrix multiplications to be computed across a subgroup
  • enables better shader optimizations and allows the use of tensor cores on Turing GPUs


HSV Color Space

  • explains the HSV colorspace and how to convert it to RGB


Under the hood of Shadow of the Tomb Raider

  • using a Forward+ rendering pipeline and raytracing for shadows
  • presents a frame breakdown of the main rendering passes
  • acceleration structure for skinned objects is updated via UAV writes from a vertex shader


Model View Projection

  • shows the different spaces that are typically involved in 3D rendering
  • how to transform between the different spaces
  • visually shows the effect of the transformations


Sampling A Procedural Sky

  • series on rendering of volumetric clouds
  • shows how to sample the sky lighting contribution
  • using a sampling scheme that places more samples in the bright sections of the sky


Flax Facts #25 – Vulkan

  • Flax engine now fully supports a Vulkan backend
  • better performance than the D3D12 implementation


New in D3D12 – background shader optimizations

  • D3D12 is starting to allow GPU drivers to implement shader optimization in a background thread
  • provides an API to control the driver behavior


Intel® Graphics Performance Analyzers Assist Snow Simulation in Frostpunk*

  • presents how the snow simulation has been implemented and how it was optimized for Intel GPUs
  • supports dynamic melting and build up of snow
  • tesselation stage is used to generate the snow mesh


A tour of Granite’s Vulkan backend – Part 3

  • presents the shader binding model used by granite
  • user binds resources to sets and bind points on a per-resource basis
  • Vulkan descriptor set management is not exposed to the user


Thanks to Nathan Reed for support of this series.


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