Graphics Programming weekly - Issue 350 - July 28th, 2024


GPU-friendly Stroke Expansion

  • the paper presents a new method to apply strokes to lines in a GPU-friendly way
  • presents how to lower filled and stroked Bézier paths into an Euler spiral as an intermediate representation
  • tests and shows the performance of the implementation on CPU and GPUs
  • video and code have been released


[video] Karen Ghavam Keynote at HPG 2024

  • the presentation recording discusses the development of the Vulkan ecosystem
  • how LunarG came to deliver the Vulkan SDK, the history of the developments, and ecosystem overview
  • presents a look into the development approach, improvements, and how it worked in practice


MaterialX and OpenPBR Town Hall

  • the presentation covers the current state of OpenPBR and the state of integration into MaterialX
  • updates on the state of support in tools
  • additionally provides a look at the upcoming developments


Concurrent Binary Trees for Large-Scale Game Components

  • the paper presents a concurrent binary tree (CBT) for adaptive triangulations of arbitrary (half-edge) meshes
  • shows how to use a CBT as a memory management construct


H-PLOC: Super-fast, high-quality BVH construction

  • the paper presents an approach to BVH construction based on the parallel locally- ordered clustering approach (PLOC) and PLOC++
  • shows how to implement the algorithm in a single kernel launch
  • explains a method to convert the binary BVH into wide BVHs where each parent can have an N number of child nodes


DGF: A Dense, Hardware-Friendly Geometry Format for Lossily Compressing Meshlets with Arbitrary Topologies

  • the paper presents a block-compressed geometry format
  • explains the data packing applied, what can be encoded, and how to compress it
  • presents memory comparisons against existing solutions
  • additionally shows how hardware support with ray-tracing BVH builds might reduce memory consumption


Procedural generation

  • the blog post provides an overview of generating a procedural world
  • discusses how biomes, terrain, grass, and flowers are placed
  • additionally shows how they turned the flat world into a sphere  


Cache Points for Production-Scale Occlusion-Aware Many-Lights Sampling and Volumetric Scatterin

  • This paper provides a deep dive into Disney’s Hyperion Renderer’s many-lights sampling system
  • presents how it caches and interpolates light sampling distributions at points throughout space
  • Presents how the approach allows the incorporation of learned visibility estimates into light sampling distributions


GigaVoxels DP : Starvation-Less Render and Production for Large and Detailed Volumetric Worlds Walkthrough

  • the paper presents a voxel scene processing model that allows on-demand production of data during rendering
  • presents how to overlap the work to reduce synchronization and starvation issues
  • shows a way to visualize the execution of GPU cores on a dynamic timeline


Introducing Frame Latency Meter (FLM) v1.0

  • AMD released a tool to help measure input to screen latency on Windows
  • users can specify a region to watch for changes; if a simulated mouse event triggers a change in this region, it calculates the latency and records for later analyses


Screen Space Indirect Lighting with Visibility Bitmask: Improvement to GTAO/SSAO Real-Time Ambient Occlusion Algorithm (GLSL Shader Implementation)

  • the blog post provides an overview of the author’s implementation of Screen Space Indirect Lighting with Visibility Bitmask
  • presents an overview of the technique, discussing tradeoffs of the implementation
  • shows the results in-engine in a test scene and shows the shader implementation in GLSL


[video] Normal Mapping Adventures // OpenGL Intermediate Series

  • the video tutorial provides an overview of the normal mapping technique
  • explains the limitations of vertex and interpolated vertex lighting
  • followed by an explanation of how normal maps allow additional information and how to generate this required data
  • finally, it provides a detailed discussion of the implementation steps using OpenGL/GLSL


Thanks to Jhon Adams for support of this series.


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