Graphics Programming Weekly 446


Half-Edge Data Structure. Part 2

  • deep dive into the inner workings of the OpenMesh mesh creation logic
  • explains the process of adding new faces to an existing mesh
  • details the algorithm and optimizations used to maintain a valid topological graph


PEPS: Positional Encoding Projected Sampling

  • introduces Positional Encoding Projected Sampling (PEPS), a framework that treats coordinate projections at different frequencies as discrete “points of interest”
  • uses the unique motion of these points across frequencies as a basis for learned positional encoding inside grid-based representations
  • includes an aggregation strategy that leverages signal power spectral density to reduce input noise and parameter counts


High-Performance Real-Time Implicit Strand-Based Hair Rendering via Software Rasterization

  • proposes a deferred software rasterization pipeline for efficient strand-based hair rendering
  • combines deferred shading with a strand filtering and reconstruction step to improve performance
  • introduces a level-of-detail (LOD) scheme that adapts shading complexity based on screen-space coverage


[video] OpenGL Projected Textures Are Easier Than You Think!

  • demonstrates that projected textures are mathematically similar to shadow mapping
  • shows how to use projected coordinates to index into a color texture via a virtual projector matrix
  • provides a practical implementation guide for projecting images onto arbitrary geometry


[video] Rotations | Geometric algebra episode 13

  • explains rotations as rotors formed from the product of two reflections in geometric algebra
  • discusses how rotors provide a more intuitive foundation than quaternions and avoid gimbal lock
  • illustrates the use of the sandwich product to rotate vectors in any number of dimensions


[video] Generating Mipmaps // Vulkan For Beginners #31

  • technical guide on implementing manual mipmap generation in Vulkan using vkCmdBlitImage
  • covers calculating mip counts, handling layout transitions, and performing the blit loop
  • details required updates for image views, texture samplers, and memory barriers to support multiple LODs


Thanks to Eric Haines for support of this series.


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