Graphics Programming weekly - Issue 145 — August 16, 2020


Best Practices: Using NVIDIA RTX Ray Tracing

  • the article provides an extensive list of best practices for DXR usage
  • covers acceleration structures, GPU utilization, memory allocations, handling of non-opaque geometries, binding, performance and pipeline state best practices


Binding Bindlessly

  • the blog post explains what the bindless model is
  • shows how to use for Textures and how to replace Vertex Layouts
  • examples are for D3D12, but links to information for Vulkan is provided


Jet Set Vulkan : Reflecting on the move to Vulkan

  • the article provides a basic overview of how the OpenGL ES based engine was ported to Vulkan
  • lists performance issues encountered such as Sparse Indexing, vkQueuePresent blocking and barrier usage for improved throughput
  • provides a comparison of CPU, GPU usage with OpenGL and Vulkan


Procedural Paintings with Genetic Evolution Algorithm

  • the blog post explains how the author implemented a precural painting logic using compute shaders
  • explains how the algithmn was structrued, discussiong ecoutnered problems and solutions implemented


Compressed GPU texture formats – a review and compute shader decoders – part 1

  • the article presents an overview of the DXT and ETC compression formats
  • shows how information is compressed and how to decode these formats from a compute shader


Writing Shaders in VS Code: GLSL Setup

  • short post presenting how to setup VSCode to allow GLSL shader iteration


Rendering Perfect Reflections and Refractions in Path-Traced Games

  • the article explains primary surface replacement (PSR) and checkerboarded split frame rendering (CSFR)
  • these techniques are presented as a possible solution for high-quality reflections and refractions in a mixed hybrid renderer design that relies on GBuffers for primary rays


[video] Torus Knots explained!

  • A video tutorial that explains how to implement a shader to render a torus knot using ShaderToy
  • starts by explaining the foundational math followed by the shader implementation


Render Target Abstraction

  • the article discusses the different render target requirements for D3D12 and Vulkan and presents 4 alternative solutions to design an abstraction


Thanks to Manish Mathai for support of this series.


Would you like to see your name here too? Become a Patreon of this series.