Graphics Programming Weekly - Issue 387


The Eras of GPU Development

  • The blog post provides a discussion how hardware and graphics APIs developed over time
  • Presents performance changes as well as capabilities changes


To Early-Z, or Not To Early-Z

  • The article presents a detailed discussion of z-testing in modern GPU hardware
  • Shows when the hardware is able to move the execution of z-testing before pixel shader invocation and when not
  • Shows the impact on performance and correctness
  • Closes with a table showing a summary of the various features that can affect the behavior


Monte Carlo Crash Course - Sampling

  • The series on Monte Carlo’s related techniques continues with Monte Carlo Sampling
  • Presents how to convert Pseudo-Random Numbers into samplers for more complex domains
  • Covers Uniform Rejection Sampling, Non-Uniform Rejection Sampling, Inversion Sampling, Marginal Inversion Sampling
  • Additionally talks about Changes of Coordinates and Sample Efficiency


Improved Stochastic Texture Filtering Through Sample Reuse

  • Reuse and share samples between different lanes in a shader wave, avoiding memory traffic
  • Presents a method to improve the quality of stochastically-filtered magnified textures compared to traditional texture filtering


Bilinear interpolation on a quadrilateral using Barycentric coordinates

  • The article presents an algebraic solution for bilinear interpolation using Barycentric coordinates to allow improved sampling across triangulated edges
  • Shows an explanation of the derivation of the method
  • Additionally contains the code for the implementation


Reinventing feathering for the Vectorian era

  • The article presents a discussion of how to approach blurs for vector graphics
  • Discusses how to rethink the approach instead of using Gaussian blurs
  • Links to the implementation is provided


Thanks to Dirk Dörr for supporting this series


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