Graphics Programming weekly - Issue 47 — July 15, 2018


An introduction to shader derivative functions

  • explanation of partial derivates in pixels shader, (ddx, ddy in HLSL or dFdx, dFdy in OpenGL)
  • the rate of change for variables in a 2x2 pixel grid
  • how they are calculated, how they can be used to calculate face normals from world space positions
  • how branches interact with derivative calculations


More compute shaders

  • explanation of SIMD execution details for GCN
  • discussing latency, throughput, and scheduling
  • introduction of instructions that allow multiple SIMD lanes to exchange information
  • extra requirements for pixel shaders


Rotating a vector using integer math

  • a technique to rotate vectors on the GPU using only integer math
  • aims to take advantage of packed operations and scalar integer operations


Gathering Feedback: Open Problems in Real-Time Raytracing

  • Colin Barré-Brisebois is looking for feedback and open problems in real time raytracing
  • this will influence the HPG 2018 keynote


bezier bounding box

  • how to calculate the bounding box for quadratic and cubic Bezier splines analytically


The Team Color Problem

  • changing the color parts of a character at runtime using a mask texture
  • detailed visual explanation of why this works for fixed colors but causes an issue when giving the option to blend between two colors
  • using premultiplied colors removes the artifacts


Blending an HDR color into a U8 Buffer

  • explanation of how blending HDR values into an SDR render target behaves regarding clipping into the [0,1] range
  • shows how using non-premultiplied HDR values results in incorrect results and how this can be fixed by the use of premultiplied alpha colors


Writing a Modern Metal App from Scratch: Part 1

  • tutorial how to write a Metal app for iOS
  • end results is a spinning, constant color teapot
  • deals with loading models, handling vertex data, shaders, constants and drawing


Shader Showcase Saturday #1

  • showcase of small rendering demos that showcase volumetric rendering effects


Dark and Stormy

  • explanation of dark and stormy, cloudy skybox shader for unity
  • source code and example assets are available


QuadriFlow: A Scalable and Robust Method for Quadrangulation

  • a technique to generate quadrilateral meshes from triangulated meshes
  • won the Best Paper Award at Symposium on Geometry Processing 2018
  • source code available


Low Level Graphics Library (LLGL)

  • a library that aims to provide a thin abstraction layer on top of OpenGL, D3D11, D3D12, Vulkan, and Metal


Rudimentary temporal anti-aliasing solution

  • GLSL implementation as a starting point for a temporal antialiasing solution


Real-Time Rendering, 4th Edition Bibliography

  • bibliography of the Real-Time Rendering 4th edition
  • 1978 references