Graphics Programming weekly - Issue 56 — September 30, 2018


Turing Variable Rate Shading in VRWorks

  • explains what variable rate shading is and what use cases it enables
  • a control texture allows varying of the shading rate on a 16x16 pixel grid


Turing Multi-View Rendering in VRWorks

  • explains the recent developments in VR headsets and how Turing offers new hardware solutions
  • extensions that allow rendering up to 4 different views, with view-dependent attributes using a single invocation


Spherical Gaussian Encoding

  • a new encoding method for Spherical Gaussians that improves quality from previous encoding methods


Interior Mapping: rendering real rooms without geometry

  • presents a high-level overview of how to implement interior mapping
  • comments have much information about the timeline of games that used similar techniques


Efficient Instancing in a Streaming Scenario

  • discusses a technique to generate instanced geometry procedurally on the GPU using OpenGL compute shaders
  • aimed at filling vast streaming worlds that are broken down into tiles


niagara: Building a Vulkan renderer from scratch*

  • new stream coding series about the creation of a Vulkan renderer from scratch
  • the first two episodes implement rendering of a single triangle on screen


Adaptive GPU Tessellation with Compute Shaders


Claybook, raw->typed buffer performance analysis numbers

  • Twitter thread discussing Raw vs. Typed buffer performance on Claybook
  • suggest using raw buffers if supported


CUDA 10 Features Revealed: Turing, CUDA Graphs and More

  • overview of new features included in CUDA 10
  • Multi-Precision Tensor Cores are exposed on Turing
  • CUDA Graphs allow the specification and recording of an execution graph that can be executed multiple times, this reduces overhead and allows the compiler to apply further optimizations
  • interoperability with Vulkan and D3D12 is supported


Voronoi Noise

  • explains how to generate 2D and 3D noise in a Unity shader


Metal Raytracer - Implementing diffuse BRDF

  • extends the Metal raytracer with obj model loading
  • a simple diffuse BRDF implementation, including frame accumulation and shadows
  • provides a Mitsuba test scene


Mesh Shader Possibilities

  • walkthrough of the geometry pipeline on current GPU architectures and how mesh shaders fit into it
  • description of an upgrade path to mesh shaders
  • look at possibilities of future use cases


The Peak-Performance-Percentage Analysis Method for Optimizing Any GPU Workload

  • updated post now includes SM warp-issue-stall metrics
  • previously discussed in issue-26


readings on the state of the art in rendering

  • summary of resources for graphics programmers to study and keep up-to-date with the graphics programming community


Custom Pipeline Taking Control of Rendering

  • a tutorial that shows how to implement a custom rendering pipeline in Unity
  • implements skybox rendering, culling filtering, sorting and rendering of unlit objects
  • how to improve memory usage and better integration with the Unity frame debugger


SIGGRAPH 2018 Tech Talk Videos Now Available!

  • Unreal released the tech talks from SIGGRAPH 2018
  • Virtual Production in Unreal Engine 4.20, Mixed Reality Production with Unreal Engine, Fortnite: Advancing the Animation Pipeline, Real-Time Motion Capture in Unreal Engine


If you are enjoying the series and getting value from it, please consider supporting this blog.

Support this blog