Graphics Programming weekly - Issue 31 — March 18, 2018


This week I am at GDC, therefore there will be no newsletter at the end of the week. If you would like to meet during the week, send me an email or message me on twitter. DMs are open.

The series will return on April 2nd.


Meta loader for Vulkan API

  • dynamically loads vulkan entry points, bypassing the vulkan loader for increased calling performance

Good Vulkan Binding [wayback-archive]

  • suggests using dynamic SSBO on AMD
  • on NVidia: data smaller then 64 KiB use UBO, otherwise SSBO
  • then alias use binding aliasing to access as different types

A Look Inside Farpoint’s Rendering Techniques for VR [wayback-archive]

  • MSAA didn’t give the image quality required
  • used oculus UE4 renderer with dynamic resolution to enable super sampling when possible
  • occlusion query is done using a merged depth buffer from the left and right eye
  • applies a mip bias based on the distance to the center of the screen
  • experiment with world space cone tracing

Performance Profiling [wayback-archive]

  • what to optimize for, selecting appropriate metrics
  • tips on how to make tests reproduceable
  • considerations for data recording to validate assumptions
  • what data to record and how to present the results

Vulkan Subgroup Tutorial [wayback-archive]

  • what subgroups are
  • how to use subgroup operations efficiently
  • examples of use-cases

Horizon-Based Indirect Lighting (HBIL)

  • screen space indirect lighting technique
  • based on the ideas of horizon based ambient occlusion (HBAO)
  • discussion of improvements to HBAO
  • how to integrate it into a rendering pipeline

A dive into the making of Immersion [wayback-archive]

  • water reflection ( planar reflection with blur )
  • volumetric lighting
    • algithmn description including light absorption
  • vegetation and particles

valley of gods - water [wayback-archive]

  • GPU based shallow water simulation
  • signed distance field for collision with the geometry
  • breakdown of the different visual components

Estimated Cost of Per Atom Function in Real-time Shaders on the GPU [wayback-archive]

  • gives rough estimates of how expensive GPU instructions are relative to each other

Unreal Engine 4.19 Released! [wayback-archive]

  • new temporal up sampling method
  • dynamic resolution
  • all lights use physically based units
  • terrain LOD selection is now screen size based instead of distance based

The High Definition Render Pipeline: Focused on visual quality [wayback-archive]

  • unified lighting across all render passes (deferred, forward, ….)
  • build for high end PCs and consoles
  • new area lights, sun based on physical units
  • overview of new BRDF
  • decals on opaque and transparent objects
  • many new debug features
  • volume based system for scene settings such as sky, shadows, …