Graphics Programming weekly - Issue 179 — April 18, 2021

A Survey on Bounding Volume Hierarchies for Ray Tracing

  • the paper presents comprehensive coverage of BVH hierarchies, especially focused on ray tracing
  • provides an overview of the basics, compare many state of the art algorithms for construction and traversal
  • provides a comprehensive overview of existing hardware and frameworks
  • additionally presents the most common techniques and recommendations for the different algorithms to be used

[video] Newton's Cradle: Modeling & Animation

  • the video tutorial presents how to render and animate a newton’s cradle with SDFs
  • implementation is done using shader toy

Distinctive Derivative Differences

  • the article presents the difference between ddx/y ddx/y_fine
  • presents the history of these instructions in HLSL and how different hardware/API behaves
  • shows example use cases on how fine and coarse rasterization affect seamless sphere mapping
  • additionally presents how fine derivatives can be used for quad-level communication


Graphics Engineer


Marmoset is the developer of Toolbag, an industry standard 3D rendering and authoring suite. We’re looking for experienced programmers to work on challenging problems in rendering, texture authoring, baking, and more. If you’re interested in pushing a GPU as far as it can go, we’d like to meet you.

An Introduction to Vulkan Video

  • Vulkan API now exposes video support
  • extended the concept of the queue to support decode/encode queues with different extensions for several codecs
  • the article presents a walkthrough of the API through the usage of an encoder example

Pixel Art Filtering

  • the article presents an overview of why filtering for pixel art at non-integer values is vital to prevent artifacts
  • provides an overview of numerous filters and links to resources
  • additionally provides a demo application to compare the different filters

Appearance-Driven Automatic 3D Model Simplification

  • the paper presents a machine learning-based approach that uses differential rendering to approximate several simplifications effects simultaneously
  • presents a model that can jointly optimize over shape, appearance, and animation parameters

How to read shader assembly

  • the article provides an overview of shader assembly reading
  • focuses on GCN instructions
  • provides a brief overview of the hardware, the different operations, and how small changes can make significant differences in generated code

Optimizing Triangles for a Full-screen Pass

  • the article presents two common approaches to fullscreen passes
  • using PIX shows why using a single large triangle is more efficient and describes why this is the case

Thanks to Top-OR for support of this series.

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