Graphics Programming weekly - Issue 29 — March 04, 2018


Rendering in Camera Space(ish) [wayback-archive]

  • shows effects of floating point precision loss far away from the origin
  • transforms rendering to be relative to the camera position in the world instead of the origin of the world
  • this makes rendering precision independent from the position in the world

Vertex Formats Part 1: Compression [wayback-archive]

  • overview of pros/cons for 16 bit position encoding formats
  • considerations for UVs
  • storing normals with QTangents encoding

Vertex Formats Part 2: Fetch vs Pull [wayback-archive]

  • description of pull and fetch model
  • extra flexibility when using the fetch model
  • performance implications on different hardware architectures

A level of detail method for blocky voxels [wayback-archive]

  • small overview of Progressively Ordered Primitive (POP) buffer
  • a way to encode LODs for models
  • how to deal with LOD transition boundaries

Screen-filling Rasterization using Screen-aligned Quads and Triangles [wayback-archive]

  • comparison of 3 techniques (quad, triangle, nvidia fill_rectangle extension)
  • explanation of the problems with the quad approach
  • why the triangle or extension approach should be preferred

Bringing Vulkan to Apple’s Platforms: Khronos Group Announces Open Source MoltenVK 1.0 & SDKs [wayback-archive]

  • MoltenVK is open source, collaboration with valve
  • a library for translating Vulkan to Apple’s Metal
  • DOTA 2 is using this layer to run on macOS

MoltenVK

  • open source implementation of vulkan using metal on iOS and macOS

Conservative rasterization in Vulkan [wayback-archive]

  • example how to use conservative rasterization extension with vulkan
  • shows results for a triangle render with/without the extension

Deconstructing the water effect in Super Mario Sunshine [wayback-archive]

  • how the water effect was implemented in the fixed function hardware of the GameCube
  • based on scrolling textures
  • each mip level is manually created to approximate separate effects based on camera distance

Real-Time Rendering of Wave-Optical Effects on Scratched Surfaces [wayback-archive]

  • model to simulate microscopic scratches on metal
  • for spherical and polygonal light sources

Implicit Surface Modeling [wayback-archive]

  • explanation of implicit surfaces using signed distance fields
  • how to apply operators to combine multiple shapes
  • how to use the techniques with the C# - geometry3Sharp library

Depth of Field - Unity Tutorial [wayback-archive]

  • in-depth tutorial
  • explanation of what depth of field is
  • different bokeh effects
  • simulating camera focus, separating background and foreground objects

Unreal Engine 4 Cel Shading Tutorial [wayback-archive]

  • cel shading uses multiple bands of color instead of a continuous gradient
  • effect based on the lighting information in a post processing shader
  • using a lookup table to control the amount of bands

Embreee 3.0

  • new and more flexible API, not backwards compatible
  • reduced memory usage