Graphics Programming weekly - Issue 223 - February 20, 2022

[video] Interactive Graphics 12 - The Rendering Equation

  • the video lectures cover the history and motivation of the rendering equation
  • discusses all components that form the equation, the effects of the components
  • additionally presents the generalized form that also covers Emissive material, BSDF, Sub-surface scattering, Refractions

Shader translation benchmark

  • the article presents a performance benchmark of the naga shader translation system
  • presents comparisons for translations between different shading languages and compares against other translators
  • includes comparisons against tint, Glslang, and SPIRV-Cross


Web Graphics Engineer

New York / Remote

We believe that the future of media creation is collaborative and accessible. We’re looking for a strong engineer with the right mindset of craftsmanship and experimentation to help us solve those challenges. You’ll be working closely with our frontend engineering and design teams to develop high-performance graphics primitives to power Runway’s video and image synthesis interfaces

Cube Sphere Going from Cube to Sphere

  • the article discusses an alternative way to procedurally generate spheres from a cube base division
  • presents how alternative distributions can improve the uniformity of the point distribution

LunarG Releases New Vulkan SDKs with Profiles Toolset and New Extensions

  • new Vulkan SDK updates allows application developers to create their own profiles
  • can be used to define a standard set of extensions and capabilities that should be simulated
  • could be used to restrict all developers to be able to test on min-spec hardware independent of the hardware in the machine

Exploring the Vulkan 1.3 Software Development Kit (SDK)

  • Vulkan webinars about Vulkan 1.3 on March 10th
  • covering Validation Layer Performance and Vulkan Profiles Toolset

A Review of Shader Languages

  • the updated article presents a comparison of HLSL, GLSL, MSL, and WGSL
  • compares the syntax, resource binding, and shader interface
  • also shows how to compile shaders ahead of time, during runtime
  • additionally shows how to transpile between the different languages


Senior Compiler Engineer

Fort Collins, Colorado, US, or remote

LunarG, a US-based, independent software consultancy, is looking for talented compiler engineers to help us deliver world-class, 3D-graphics solutions.

Our compiler experts create optimizations and enhancements to compiler modules used in GPUs. You’ll be provided with the opportunity to work on an interesting variety of technologies. Our projects range from open source to custom development for a diverse group of clients across the Gaming, VR/AR, and Consumer Electronics markets. We pay competitively, offer strong bonuses, and foster a flexible and supportive work environment – making LunarG a great place to work.

If interested, contact Karen Ghavam at

[video] Modern OpenGL - Compute Shaders

  • the video tutorial explains the necessary concepts to use compute-shaders with OpenGL
  • starting with simple examples, it explains the logic, how to load and execute compute-shaders
  • covers how to improve performance, communicate and store results in memory

Light transport matrices, SVD, spectral analysis, and matrix completion

  • the article presents light transport matrices and how they relate to light transport concepts
  • expressed this way, computing incident lighting becomes matrix-vector multiplication

Updates in Graphics and Gaming

  • the article presents a new windows insider feature that will allow DX10/DX11 games to take advantage of the DXGI flip-model
  • feature is available by default on DX12 games, but older games can take advantage of it from a Windows level opt-in toggle

Thanks to Ken Russell for support of this series.

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