Graphics Programming weekly - Issue 19 — December 3, 2017


PIX 1711.28 – GPU memory usage, TDR debugging, DXIL shader debugging, and child process GPU capture [wayback-archive]

  • can track d3d12 heap usage during timing captures
  • experimental TDR (Timeout Detection and Recovery) debugging support
  • shader debugging for DXIL (new intermediate shader language)
  • GPU captures of child processes are supported
  • file IO can now handle archive files to identify individual files within

Foliage Optimization in Unity [wayback-archive]

  • requires your forest to be built from the ground up with your optimization strategy in mind
  • all assets share a single 2048x2048 texture

  • hex grid for grouping

    • LOD and culling on the hex groups
    • occlusion query against the hex groups to see if visisble (only check against terrain)
  • super hex grid encompassing multiple smaller hex groups,

    • switch to combined model for all meshes when at the lowest LOD

Conformal Texture Mapping [wayback-archive]

  • how to characterize the amount of distortion in UV mapping
  • conformal maps are texture mapping without distortion
  • explanation of Möbius tranformations
  • Holomorphic Functions: functions that are complex differentiable
  • Invertibility of functions

Compressonator V2.7 - adds cross platform support and 3D Model compression with glTF v2.0 [wayback-archive]

  • now supports loading gltf 2.0 models
  • D3D12 renderer
  • Realtime 3D Model diff views

Fast Lossy Compression of 3D Unit Vector Sets [wayback-archive]

  • a new compression scheme for unorganized ray directions
  • take advantage of spatially coherent vector groups for better compressibility

Lessons Learned While Building a Vulkan Material System [wayback-archive]

  • descriptor sets
  • group descriptor by frequency of update
  • SPIR-V shader reflection
  • constant data requires 16 byte alignment for members
  • description of the material system

Real-time Global Illumination by Precomputed Local Reconstruction from Sparse Radiance Probes [wayback-archive]

  • aimed at mostly static scenes with fully dynamic lights and cameras
  • reconstructing the incident radiance field from a sparse set of local samples
  • minimize light leaking through visibility-aware interpolation
  • receiver depends only on a small constant number of nearby radiance probes

Telltale’s move to PBS : shifting technologies and practices (part 1) [wayback-archive]

  • heavily relied on hand-painted texture maps, including lighting
  • new material system can generate maya shader for preview
  • some artists had a hard time adopting the PBR model
  • use of scripts to auto convert from diffuse texture to the required PBR textures
  • use of simplygon to simplify models and materials to fit into memory budget

The Poor Man’s 3D Camera [wayback-archive]

  • description of the many iterations the camera design went through until finally settling on the final design

SeamCut: Interactive Mesh Segmentation for Parameterization [wayback-archive]

  • interactive approach to UV unwrapping
  • using mesh surface properties instead of actual connectivity on the mesh
    • to place cuts and seams for good UV distribution

Breakdown : Making the Hair on The Division [wayback-archive]

  • combination of meshes, flowmaps and hair planes

Quick Peek: Ambient Occlusion [wayback-archive]

  • AO calculations for low poly look using surfel representation of the mesh

Simplicial Complex Augmentation Framework for Bijective Maps [wayback-archive]

  • aims to reduce the problem from a global to a local optimization problem
  • iterative algorithm until quality reaches the expected threshold
  • application shown in UV mapping and mesh deformation

Light Map in “Seal Guardian” [wayback-archive]

  • build UV atlas, render positions into texture
  • bake cube map per pixel of the light map
  • stored as SH luma and average chroma in two RGBA8 textures

Shadertweak

  • Shadertweak is an iPad app that allows you to rapidly prototype fragment shaders in the Metal shading language.