Graphics Programming weekly - Issue 72 — February 10, 2019

This series can now be supported on Patreon. Vote on the roadmap and monthly summaries for December and January are available as reward tier.

Basic Color Science for Graphics Engineers

  • presents how the RGB color representation is based on human vision
  • shows how to visualize the visual color range in chromaticity diagrams
  • presents the Rec. 709, sRGB, Rec. 2020 and XYZ color space
  • shows which color ranges can and cannot be represented in each space

Crytek Presentations

  • Crytek removed all presentations from their website
  • a user has uploaded a backup copy of many presentations to his dropbox

Unity GPU culling experiments Part2 – optimizations

  • presents how to optimize the compaction pass in a GPU culling pipeline
  • reduce memory bandwidth usage by taking advantage of shared memory and compression of data that needs to be processed
  • wrap level and shuffle instructions allow further optimizations

Fast, Constant Time Sphere Indexing, Part 2

  • shows how to simplify the math for constant time sphere indexing (the technique was described in issue 64

NVIDIA Announces Nsight Graphics 2019.1

  • enables debugging of GPU hangs with D3D12 using Nvidia aftermath
  • allows trace comparison
  • Support D3D12 NVAPI Metacommand enabling DLSS

the rendering techniques of deus ex and tomb raider

  • presentations from Siggraph 2015 have been published
  • Deus Ex: Mankind Divided presentations covers:
    • shield and skin VFX,
    • parallax occlusion mapping
    • hair simulation and rendering
    • motion blur
    • color correction that allows changing the effect depending on the distance to the camera
  • Rise of the Tomb Raider presentation covers:
    • volumetric lights
    • sunlight shadows
    • ambient occlusion
    • procedural snow deformation

Direct3D 11 on 12 Updates

  • overview of improvements to the system that allows D3D11 applications to be run using D3D12
  • improved threading behavior
  • new APIs will allow the underlying D3D12 resources to be requested from the D3D11 objects

Thoughts on graphics APIs and libraries

  • discusses author’s view on the state of low-level graphics APIs (Vulkan, D3D12, Metal)
  • presents how the abstraction level might not be the right one
  • too low-level for ease of use but too high-level to guarantee predictable performance on all platforms

“Ray Tracing Gems” preprints available part by part this month

  • every few days a new preprint article from the “Ray Tracing Gems” book will be released
  • requires a free Nvidia developer account

Learning D3D12 from D3D11 - Part 2: GPU Resources, Heaps, and Descriptors

  • part 2 of getting started with D3D12 for programmers with D3D11 experience, part 1 discussed in week 70
  • shows to create vertex and constant buffers
  • explanation of memory management and binding model

My take on shaders: UI SDF Icon shader

  • shows how to sample a signed distance field in a Unity UI shader
  • signed distance field UI shaders allow the UI to be resolution independent