Graphics Programming weekly - Issue 239 - June 12, 2022

Real-time rendering - past, present and a probable future.

  • the article presents an overview of the problems and solutions of real-time game graphics technology
  • what aspects have been solved/standardized, and what open problems remain
  • presents the author’s proposal for future directions for the industry

A Gentle Introduction to D3D12 (2022)

  • the article introduces D3D12Lite, a library that is meant to streamline the introduction to D3D12
  • the tutorial explains the necessary steps to get started, draw a triangle and advance to drawing a textured cube
  • it additionally shows how to integrate ImGUI into the application


Senior Software Engineer

United Kingdom

If you’re looking to broaden out your existing knowledge of real-time GPU rendering, then this role is potentially a great fit.

You’ll be joining a small centralised technology team, working closely with a real-time rendering Architect and graphics team lead to deliver GPU technology solutions to product teams across the Foundry portfolio.

Good C++ and GPU graphics programming knowledge are essential to the role, but you will have access to domain experts to help you level up your expertise. Experience in software development lifecycle and knowledge of software engineering best practices in a commercial context are also key requirements.

QMC(Magic square, Glois field, QMC)

  • the article presents a method to generate stratified samples of arbitrary dimensionality
  • the method is based on Magic Square Sampler
  • discusses the origin of the technique, how to implement it, and a brief comparison against other methods
  • written in both English and Japanese

Discover Metal 3

  • the presentation provides a summary of new features in Metal 3
  • new API to allow direct loading from file storage into GPU buffers using a command-based API
  • allow binary shader generation at build time to remove runtime shader compilation
  • introduction of mesh shaders, improved raytracing with indirect command buffer support

WWDC22 - Metal sessions

  • list of all metal sessions at WWDC22
  • covering new metal features, HDR/EDR handling, bindless resource model, machine learning, optimizations, and more


Senior/Lead Rendering Engineer

Los Angeles, Vancouver, Montreal or San Mateo

We have several project openings for a Senior/Principal or Lead Rendering Engineer to work on new/all original IP’s, which are being developed in Unreal 5 and are true cross-play multiplayer games on PC, Console & Mobile.

You will work collaboratively with artists, designers and engineers to realize our beautiful, stylized visual target.

The ideal candidates are broadly experienced with optimization & profiling CPU/GPU on multiple platforms, creating content workflows/pipelines and experienced with both R&D and production systems/features.

Writing Unity URP Shaders with Code Part 1: The Graphics Pipeline and You

  • the text and video tutorial is the start of a new beginner-focused shader authoring tutorial for Unity
  • the first part shows how to implement a text-based shader for the Universal Render Pipeline (URP)
  • provides an overview of the pieces of the general rendering pipeline theory required to be able to render a textured sphere

[video] Basic Post-Processing Effects - Shader Graph Basics - Episode 49

  • the video tutorial shows the steps required to set up to create post-processing shaders using shader graphs in both Unity and Unreal
  • presents color tinting and screen warping examples in both engines

[video] God of War PC: AMD FSR 2.0 vs Nvidia DLSS Image/ Motion Quality Face-Off

  • the Digitial Foundry video provides an in-depth comparison between FSR 2.0, native TAA as well as DLSS upscaling solutions for God of War
  • shows how they handle camera movement, object movement, transparency as well as hair and vegetation

Bridging the synchronization gap on Linux

  • the article discusses why the explicit synchronization nature of Vulkan is a significant problem on Linux
  • presents solutions possible today and what side effects they cause
  • shows the more modern solution that is possible now and how it allows more efficient explicit synchronization support

sRGB, Pre-Multiplied Alpha, and Compression

  • the article clarifies the meaning of sRGB encoded textures
  • presents how they interact with (pre-multiplied) blending
  • it additionally presents issues that exist with the combination of block compressed textures

Thanks to Erika for support of this series.

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