Graphics Programming weekly - Issue 62 — November 11, 2018

Optimize your engine using compute @ 4C Prague 2018

  • overview of the compute shader execution and pipeline model
  • explains how instructions are executed, what the difference between uniform and non-uniform work is and how it relates to SGPRs and VGPRs
  • using the example of texture downsampling to present the performance profile of a pixel shader solution and why a compute shader solution can achieve better performance

Intro to gpu scalarization – part 1

  • overview of the GPU execution model, the difference between scalar and vector registers and instructions
  • explains the concept of scalarization and how wave level instructions enable this process

Intro to gpu scalarization – part 2

  • walkthrough of two different strategies to scalarize the forward+ shading loop
  • provides code, step by step analysis and links to more in-depth presentations

SIGGRAPH Asia 2018 – Technical Papers Trailer

  • overview of some of the technical papers that will be presented during SIGGRAPH Asia 2018, 4-7 December 2018 in Tokyo

niagara: GPU object culling

  • adding support for multiple meshes and GPU frustum culling and submission
  • one Dispatch to execute culling and one ExecuteIndirect is used to draw the rest of the scene

niagara: Faster culling and LOD

  • improving culling performance through the removal of dummy draw calls
  • implementation of LOD selection per mesh
  • support querying of pipeline statistics to gather information about the number of triangles drawn

VK_NVX_raytracing - Triangle

  • A walkthrough that explains all the concepts and shaders necessary to ray trace a single colored triangle using the Vulkan raytracing extension

Accelerated Ray Tracing in One Weekend in CUDA

  • explains how to convert the code from the Ray Tracing in One Weekend book to use CUDA
  • the source code is available here, one branch for each chapter

2D Signed Distance Field Basics

  • unity tutorial that explains how to create a signed distance field for a 2D circle and rectangle
  • how to apply transformations (translation, rotation, scale) and how to visualize the distance field to aid debugging

Picking and Hit-Testing in Metal

  • explains how to implement 3D picking in a Metal application
  • overview of coordinate spaces and how to convert between them
  • hit-testing performed using a ray vs. bounding sphere test

Few words about HLSLexplorer

  • a tool, now open source, that allows the compilation of HLSL and shows the disassembly in DXBC and AMD GCN
  • includes a small utility to visualize the effect of a fullscreen pixel shader effect

Image Editor Effects

  • list of image effects found in tools such as Photoshop with a small explanation and GLSL code snippets

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

Support this blog