Jump to content
  • Advertisement
  • entries
  • comment
  • views

Graphics Programming weekly - Issue 90 — June 23, 2019

Sign in to follow this  


  • explains gamut mapping techniques
  • difference perceptual and clipping techniques
  • shows how gamut mappings are derived
  • shows how the fog in The Witcher 3 has been implemented
  • combines aerial fog and an artist-controlled fog coloring based on a gradient from 3 colors (front to back)
  • uses AO information to darken the fog in occluded areas

  • list of sessions from SIGGRAPH 2019 that are related to ray tracing techniques
  • new extensions in AMD driver
  • VK_EXT_full_screen_exclusive, allows application to enter fullscreen mode such as IDXGISwapChain::SetFullscreenState
  • VK_EXT_separate_stencil_usage allows separate depth and stencil states
  • VK_AMD_display_native_hdr, better HDR support for FreeSync 2 monitors without requiring AMD libraries

  • support for GPU timing data in the new timing capture view
  • a lot of GPU capture improvements
  • new glint integrator for specular surfaces using multiple-scattering patch-based BRDF
  • addresses energy loss introduced from classical normal mapping
  • uses normal maps and second moments of slopes as in LEADR mapping

  • shows a new version of voxel-based path-tracing based graphics engine
  • provides an overview of the implementation

  • new path tracing sampler techniques
  • distributed per-pixel samples so that errors are distributed as blue noise in screen space
  • provides C++ source code
  • comparison against other methods at various sample counts

  • the paper builds on the techniques described in the previous article
  • introduces a temporal algorithm that locally permutes the pixel sequences
  • improves error distribution for a series of frames

  • describes how to support unbounded arrays of textures in Vulkan
  • presents two techniques to solve validation errors
  • first fills unused slots with a know valid texture descriptor
  • second shows the required extensions to enable partially filled descriptor sets

  • shows how to implement raytracing against a Signed Distance Field (SDF)
  • extends this to use sphere tracing
  • a master thesis that describes a progressively path-traced solution for indirect illumination lightmaps on the GPU
  • covers parameterizing geometry into lightmaps, improving coherence in a path tracer, reducing variance and spherical basis functions
  • presents a new way to store diffuse and specular irradiance using an Ambient Dice encoding scheme (additional post below)

  • explains how to extend the Ambient Dice basis function to store and evaluate both diffuse and specular irradiance
  • explains how branching on GPUs is commonly implemented
  • explains what divergence is, impact on performance and how to reduce it
  • GPUs use an execution mask to hide results from inactive threads
  • shows how this looks in GCN ISA and AVX512

  • describes the surface gradient framework
  • a framework for robust processing of height maps, height volumes, and normal maps
  • explains the Preliminaries (Tangent Frame, Height Maps, and Volumes, Wrinkled Surfaces)

Thanks to Jon Greenberg for support of this series.

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

Read more

Sign in to follow this  


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!