Graphics Programming weekly - Issue 268 - January 1st, 2023


Experimenting with fp16 in shaders

  • The article discusses the use of 16-bit floating point numbers (fp16) in shaders
  • Using fp16 can reduce the memory and bandwidth requirements of a shader
  • The article presents the results of experiments and how it affects the generated code


Improving color quantization heuristics

  • the article discusses techniques for improving color quantization algorithms
  • presents several heuristics for improving the quality of quantization
  • the article discusses the trade-offs involved in using different heuristics and provides examples of the results


Implement MacOS Monterey screen saver in shadertoy(less than 100 lines of code)

  • the tutorial shows how to implement an effect that recreates the color and wave pattern of the screensaver found in macOS
  • presents how to create the different aspects using shadertoy and how to combine the effects


Screen-space Variable Rate Shading in Unity with DirectX 12.

  • The article discusses screen-space variable rate shading (VRS), a technique that can improve performance
  • VRS allows the shading rate to be varied across the screen
  • code examples show how to use the technique from Unity


Column Major and Row Major Vectors and Matrices (for games)

  • the article explains the difference between row-major and column-major matrices
  • discusses the relationship between matrix storage format, matrix layout, and operation order
  • presents that the choice of storage format can affect the performance of matrix operations


[video] Hexagonal Tiling Explained!

  • The video explains how to create a hexagon using SDFs in shadertoy
  • expands the concepts to show how to tile the grid of hexagons
  • demonstrates how to expand on the concepts to create more complex shapes


Unity Mobile Game Performance Optimization: Balance between Graphics Performance and GPU Pressure

  • the article discusses strategies for optimizing the performance of mobile games in Unity
  • presents the importance of tradeoffs between quality and performance
  • shows techniques for improving performance, such as reducing draw calls, minimizing overdraw, and using batching and instancing


Thanks to Leonardo Etcheverry for support of this series.


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