Graphics Programming weekly - Issue 57 — October 7, 2018

niagara: Cleaning up

  • Vulkan stream - part 3
  • fixing validation layer errors, explanation of pipeline barriers
  • implementation of swap chain resize
  • shader compiler integration with Visual Studio

niagara: Rendering a mesh

  • Vulkan stream - part 4
  • overview and integration of Vulkan extension loader
  • loading an .obj and rendering a mesh using classical vertex pipeline and manual vertex pulling

“Cheap” Diamond Rendering

  • explanation of shader for diamond rendering in a forward rendering architecture
  • uses a precalculated cubemap from the inside of the object to simulate internal bounces

My journey into fractals

  • discussing many aspects of making a fractal-based game
  • including cone tracing, lighting, shadows, ambient occlusion, volumetric lighting, and atmospheric effects

Another View on the Classic Ray-AABB Intersection Algorithm for BVH Traversal

  • presents the steps required to vectorize the Ray-AABB approach by Andrew Kensler
  • results are very similar to the recent jcgt paper

Running Average Encoding - Why It Works

  • derivation of the progressive spherical Gaussian encoding technique discussed in last week’s issue

Porting My CUDA Path Tracer to ptx-builder/linker

  • explores changes to CUDA path tracer with Rust, what improved since the last post and what problems persists

GLSL cross-compiler tool

  • command line tool that allows cross compilation from GLSL to HLSL, GLES and MSL (Metal)
  • implemented using a combination of Glslang and SPIRV-cross

A Comparison of Modern Graphics APIs

  • work in progress post comparing API concepts between D3D12, Vulkan, Metal, and OpenGL

DirectX Raytracing and the Windows 10 October 2018 Update

  • Windows raytracing support is available starting with Windows 10 October 2018 update

Video Series: Real-Time Ray Tracing for Interactive Global Illumination Workflows in Frostbite

  • breakdown of “Real-Time Ray Tracing for Interactive Global Illumination Workflows in Frostbite” into short sections
  • key takeaways for each section is provided in the post

Parsing Shader Includes

  • explains how to parse a shader file for includes using regex (implemented using Rust)


  • collection of resources to get started with the Unity Scriptable Render Pipeline

Perspective Matrices and Depth

  • visualization of floating point precision when a classical OpenGL projection matrix is used

Art That Moves: Creating Animated Materials with Shader Graph

  • explanation of Unity shader graph nodes
  • walkthrough of example shaders that allow the creation of a small island scene

PIX-1810.02 – Direct3D11 and WinML

  • new PIX features are available with Windows 10 October 2018
  • can capture D3D11 applications using Direct3D 11 on 12 translation layer and WinML workloads

Vulkan SDK

  • adds support for Turing extensions

Qualcomm Releases Snapdragon Profiler with Vulkan Support

  • new profiler version now supports Vulkan

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

Support this blog