Graphics Programming Weekly - Issue 386


Grass Rendering Series Part 1: Theory

  • This series examines various techniques for rendering realistic grass
  • Part 1 focuses on the theoretical foundations needed to create believable grass
  • Part 2 demonstrates the practical application of these theories using a geometry-based grass shading model in Godot


Exponentially Better Integration

  • This blog post provides a clear explanation of Quadrature and Monte Carlo Integration techniques
  • Interactive exploration scenarios help readers develop an intuitive understanding of the concepts
  • The author also explains important statistical concepts like Bias and Consistency


Graphics programming like it's 2000 – An esoteric introduction to PlayStation 2 graphics – Part 1

  • This article explores the programming techniques for the PlayStation 2 GPU architecture
  • The author uses a compute shader emulator to demonstrate how the register-based packet stream draws triangles


Measuring acceleration structures

  • This blog post provides an in-depth analysis of raytracing acceleration structures across various hardware platforms and drivers
  • The author compares structure sizes across different manufacturers and hardware generations
  • A detailed discussion highlights how hardware vendors and drivers differ in data representation (based on publicly available information)


Bindless Textures // Intermediate OpenGL Series

  • This OpenGL programming series continues with an exploration of bindless texture concepts and implementation
  • The video covers necessary implementation changes for both C++ and GLSL code


Sims 4: Mirrors

  • The article presents a visual walkthrough of how mirrors are commonly implemented in video games
  • It uses Sims 4 as a practical example to demonstrate mirror rendering techniques


Neural Graphics in an Afternoon

  • This blog post demonstrates how to implement a 2D Gaussian Splatting algorithm using Python
  • The author explains both the Python and Slang implementation details
  • The implementation prioritizes clarity and ease of understanding over performance


Dynamic Register Allocation on AMD's RDNA 4 GPU Architecture

  • The article examines the new dynamic register allocation capabilities in AMD’s RDNA4 architecture
  • It details the new instructions and their interaction with wave execution
  • The author clarifies the limitations of this technique and compares it with NVIDIA and Intel implementations


Improved filtering added to the Vulkan Hardware Database

  • This blog post highlights updates to the filtering capabilities of the Vulkan Hardware Database
  • New filtering options allow users to search by minimum Vulkan version, report age, device types, and layered implementations


Thanks to Aras Pranckevičius for supporting this series


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