Graphics Programming weekly - Issue 3 — August 13, 2017


Circular Separable Convolution Depth of Field - acm.org

A basic Gaussian convolution can achieve linear time complexity by performing a horizontal and vertical pass. This is not possible when the target shape of the convolution is a circle. When performing a blur in the frequency domain it is possible to achieve separability


Separable disk-like depth of field - bartwronski.com

A shadertoy implementation of circular depth of field with inspiration by the paper above


DPI-aware IMGUI

Handling multi-monitor setups with various DPI-scaling per monitor cleanly does not have to be tricky. A good overview of the windows DPI related APIs


Photogrammetry workflow and the tech behind the de-lighting tool - unity

Photogrammetry workflow, the technology behind the de-lighting tool and how to get started with photogrammetry in Unity.

workflow e-book: download


Bounding Proxies for Shape Approximation

A new bounding shape approximation algorithm which takes as input an arbitrary surface mesh and generates a bounding shape proxy


Screen Space Planar Reflections in Ghost Recon Wildlands

SSR are expected to be less expensive than actual reflection rendering and more accurate than cubemap-based reflections, as long as the reflection source is present on the screen.

In controlled situations flaws can be alleviated and SSR can deliver astonishing results.

  • clearly written article with code examples
  • how to resolve common problems

Optimized pixel-projected reflections for planar reflectors

  • constrained form of SSR
  • reverse the reflection tracing
  • calculate which pixel is hit in the reflection, resolve later without searching
  • can be selectively used where applicable
  • normal maps can be approximated, but more costly
  • shader code example

Crest: Novel Ocean Rendering Techniques in an Open Source Framework

  • meshing
    • handling elevation changes and smooth LOD transitions
  • overview of wave interactions
    • using a shape texture to displace the mesh surface
  • foam rendering and depth peeling
    • two layer foams, for under and above water based on displacement texture
    • using multiple layers of surface information to better approximate under water scattering

vkFX: Effect’ive Approach for Vulkan API – nvidia

  • Effect parser for Vulkan
  • Offline(Generates C++) or runtime integration
  • Assembling PSO in file
    • Assembling shader fragments for the final shader
    • Connecting depending data
  • Resource Definitions and connections

Understanding Vulkan objects

A diagram that shows all of the Vulkan objects and some of their relationships, especially the order in which you create one from another and a brief description of all the objects


Precomputed lighting in Call Of Duty: Infinite Warfare

  • Lightmaps & Light probes
  • Light probes
    • Decoubled visibility and incoming radiance
    • Visibility baking
  • Light Grid
    • volumetric structure that holds the indirect lighting for the level
  • Light Baking

Tiled hardware (speculations) - c0de517e.blogspot.ca

Over at Siggraph I had a discussion with some mobile GPU engineers about the pros and cons of tiled deferred rasterization. I prompted some discussion over Twitter (and privately) as well, and this is how I understand the matter of tiled versus immediate/“forward” hardware rasterization so far…


Research impact retrospective: MLAA from 2009 to 2017

  • History of anti-aliasing techniques with description of new developments in each generation

Anti-aliased Alpha Test: The Esoteric Alpha To Coverage

Explanation of what Alpha to Coverage is and how to use it to reduce aliasing on alpha tested geometry with MSAA


Importance Sampling of Many Lights With Adaptive Tree Splitting

In daylight dim lights behave local (only relevant to the nearby geometry), but in a dark room small contributions add up to significant light for the whole scene. So their behavior is global. And the latter is the real problem we’re solving here.

  • build a BVH of the emitter geometry
  • importance measure to be able to traverse the cluster tree

Comments on Future Directions for Compute in Graphics - joshbarczak.com

Forward may be a losing proposition on current hardware, but if this talk is about things we want to make the hardware guys do for us, then getting them to fix forward rendering is certainly on the table.

I think we might be taking for granted just how much the inline everything model has been protecting us from ourselves

  • dynamic register usage adjustments
  • taking C++ code and executing it directly on the GPU

Real-Time Line- and Disk-Light Shading

  • extended area-lighting framework with lines, disks and spheres
  • recap of LTC
  • Line lights
  • Sphere / Disk Lights

An investigation of real-time deep G-Buffer applications in screen-space rendering

Implementing real-time partial occlusion depth of field using deep G-Buffers. Partial occlusion depth of field is where sharp background objects bleed through the edges of blurry foreground objects


A practical extension to microfacet theory for the modeling of varying iridescence

Introduce an extension to microfacet models that enables to add thin-film interference appearance, a thin-film model that is spectrally antialiased.

There are small arrows in the bottom right corner, need to click them otherwise slides wouldn’t change for me


The Virtual Frontier: Computer Graphics Challenges in Virtual Reality & Augmented Reality

Virtual reality will be the new interface to computing for everyone

  • future of VR/AR technology
  • rendering pipeline and adjustements for latency reduction
  • future techniques to get the required fidelity
  • light fields, future displays
  • haptic feedback systems
  • display based reprojection
  • path tracing

How-To Use Radeon™ GPU Profiler - youtube


AMD Vega Instruction Set Architecture documentation