Graphics Programming weekly - Issue 28 — February 25, 2018


Youtube - Wolfenstein 3D’s map renderer

  • in-depth breakdown of how the Wolfenstein 3D renderer works
  • explanation of the ray-casting logic
  • derivation of the mathematics found in the code

Fast way to render lots of spheres [wayback-archive]

  • spheres drawn in pixel shader using ray-sphere intersection test
  • vertex shader generates screen space bounding boxes from sphere center + radius
  • allows debug spheres to be generated from other GPU kernels

Twitter - Ptex memory access pattern [wayback-archive]

  • problems with Ptex in relation to access patterns and filtering

Voxel lighting [wayback-archive]

  • flood fill lighting
  • store light information for 5 directions and store propagation information for each
  • how to use word level parallelism to speed up propagation

How-to: Debugging a non-visible model in Vulkan using RenderDoc

  • how to investigate constant buffer data
  • look at vertex shader input / output
  • detect invalid camera position from vertex output

New Vulkan Assistant Layer Highlights Development Best Practices [wayback-archive]

  • intended to highlight potential performance issues, questionable usage patterns, common mistakes

Reverse engineering the rendering of The Witcher 3, part 4 - vignette [wayback-archive]

  • description of controls
  • additional mask texture allows variation across the screen
  • reverse engineered HLSL code

Substance day at GDC 2018

  • on Tuesday, March 20th there will be a substance day at GDC
  • open for expo pass and above

GDC 2018 Presentations

  • list of AMD sessions at GDC