Graphics Programming weekly - Issue 23 — January 21, 2018

Experiments in GPU-based occlusion culling part 2: MultidrawIndirect and mesh lodding [wayback-archive]

  • using DrawIndexedInstancedIndirect (on AMD and Nvidia with API extensions)
    • all vertices in large buffers with manual vertex fetch in the vertex shader
  • how to integrate level of detail for meshes

Using CUDA Warp-Level Primitives [wayback-archive]

  • explanation of SIMT (Single Instruction, Multiple Thread) of 32 threads = Wrap
  • wrap-level primitives for
    • exchange of data between threads
    • active thread mask query
    • synchronize all threads in a wrap + memory fence

Easy Transparent Shadow Maps [wayback-archive]

  • technqiue to allow transparent objects to cast colored shadows onto opaque objects
    • render transparents into a color but rejecting pixels that are occluded by opaques
  • extension of technique to allow transparent shadows on transparent objects
  • showcase of some use-cases
    • projectors
    • underwater caustics

Area Lights with LTCs [wayback-archive]

  • high level overview of the “Real-Time Polygonal-Light Shading with Linearly Transformed Cosines” technique

Adding depth to 2D with hand-drawn normal maps in The Siege and the Sandfox [wayback-archive]

  • normal map used to strengthen the silhouettes instead of adding small surface detail
  • how they create the normals maps

Unity - 2018 and Graphics [wayback-archive]

  • what graphics features will be coming to unity in 2018
  • Scriptable Render Pipelines, will allow C# script to control the render pipeline logic
  • Lightweight Rendering Pipeline aimed at low end hardware will be added
  • improvements to post processing, HDR rendering and a built-in shader graph

GPU atomic operations performance [wayback-archive]

  • comparison of atomic instructions on different GPUs