Graphics Programming weekly - Issue 246 - July 31, 2022


[video] Compute Shaders || Lou Kramer || AMD

  • the presentation introduces compute-shaders, explaining the software and hardware concepts
  • expands upon the basis to explain execution patterns, memory, and cache hierarchies
  • texture reading/writing patterns as well as common mistakes


Introducing our brand new tool: Radeon™ Raytracing Analyzer 1.0

  • new tool from AMD to provide more insights into the performance of raytracing applications
  • show much memory is used, if redundant information is stored, all geometric axis aligned, etc
  • video presentation covering the information available is linked


Synchronizing Present Calls Between Applications on Distributed Systems with DirectX 12

  • the article presents an Nvidia API extension that allows multiple buffer swaps (between windows and applications) to be synchronized
  • shows the D3D12 API and discusses the usage, conditions for correct usage as well as limitations


Best Practices for Using NVIDIA RTX Ray Tracing (Updated)

  • Nvidia has updated the performance best practices for RTX usage
  • contains new recommendations enabled with shader model 6.6, updated guidelines for inline ray tracing
  • and many more minor updates across the categories


GPU Memory Pools in D3D12

  • the detailed article explains the different memory pools available and how they differ between different types
  • shows how D3D12 exposes the memory management
  • discussing strategy for texture and buffer uploads
  • presents performance numbers for CPU and GPU reads/writes and uploads to different memory types


A Rust shading language EDSL

  • the article discusses the Rust shades crate that allows writing Rust domain-specific language that can be used to generate GLSL code
  • explains the motivation, implementation as well as open issues
  • it additionally provides a comparison against other solutions


A better point light attenuation function

  • the article presents a derivation of a light attenuation function to separately control the maximum intensity and radius
  • function is designed to reach zero influence to be used with clustered shading


UVs and You

  • the article aimed at beginners explains how images are applied to 3D objects
  • presents what UV (Texture coordinates are) and how to visualize them
  • shows how to explore the relationship between mesh and UV coordinates from Unity shaders


GL_EXT_fragment_shader_barycentric: Wireframe

  • the article presents an overview of barycentric coordinates
  • shows that barycentric can be interpreted as a distance field
  • derives how to render wireframe line rendering from these distances


Adventures in Text Rendering: Kerning and Glyph Atlases

  • the article provides an overview of font rendering
  • looks at the different levels that cover glyph evaluation, line layouts, and antialiasing
  • presents rasterization constraints, how to cache glyphs for efficient rendering
  • additional covers how to deal with sub-pixel positioning


[video] Generation of simplified representations of the city, characters and vehicles for Cyberpunk 2077

  • the presentation video discusses the LOD generation used in Cyberpunk 2077 (3D models and materials)
  • discusses the different algorithms that were used for different types of models and materials
  • provides an overview of the pipeline and infrastructure integration


Adventures with deferred texturing in horizon forbidden west

  • slides for the GDC presentation talking about the deferred texturing solution has been released
  • summary in week 231


zig-gamedev project

  • a growing collection of graphics samples and libraries for the zig programming language
  • the provided samples cover how to use the released libraries


Thanks to [Michael Hazani] for support of this series.


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