Graphics Programming weekly - Issue 365 - November 10th, 2024


Implementing Order-Independent Transparency

  • the article presents a technique for Order-Independent Transparency
  • the presented technique uses multiple passes over the geometry to generate transmittance coefficients
  • discusses how this turns the problem into an additive shading problem
  • presents the implementation details step-by-step, limitations and possible optimizations


OpenGL is not Right-Handed

  • the article discusses the concept of coordinate systems and how it relates to column vs row-major matrices
  • provides into how the misconception is based on old fixed function style OpenGL concepts
  • overview of how matrix and vector convention are disconnected from memory layout
  • additionally shows how the Odin language supports these concepts on the language level


From the archive: Vegetation in COD:BO4

  • the blog post provides an overview of the process of how procedural vegetation was implemented in COD Black Ops 4
  • discusses the design process and how different developments across the teams influenced the design of the system
  • provides insights into the noise generation process, placement logic as well as storage considerations


Exact UNORM8 to float

  • the article goes into detail how to implement a floating point (0 to 1) conversion to 8bit and back without relying on division support
  • first presents the simple division method and then derives how to implement the same without division support
  • goes into detail about how floating point precision and ranges


BC7 optimal solid-color blocks

  • the blog post provides insight into the BC7 texture compression format
  • explains how to best express constant color blocks within the constraint of the format


Implementing a tiny CPU rasterizer

  • the article series about the implementation of a CPU rasterizer C++ continues
  • part 4 to 6 are released and add support for 3d transformations, projections, clipping, depth buffer, and perspective correct interpolation


Introduction to Shaders

  • the blog post presents a beginner-focused introduction to shader programming
  • provides an overview of how shaders allow access to GPU resources, execution model, and restrictions
  • shows how classical rendering pipelines with vertex & pixel shaders are used


SHforHLSL

  • single header HLSL library for spherical harmonics
  • implements support for L1 (2 bands, 4 coefficients) and L2 (3 bands, 9 coefficients) SH (spherical harmonics)


Thanks to Aras Pranckevičius for support of this series.


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