Graphics Programming weekly - Issue 10 — October 1, 2017


real-time-rendering: an overview for artists [wayback-archive]

  • overview of
    • pbr
    • render pipeline
    • draw calls
    • culling
    • optimizations

Design Patterns for Low-Level Real-Time Rendering [wayback-archive]

  • overview
    • GPU/CPU memory systems
    • command lists
    • GCN resource descriptors
  • ring buffer
    • both GPU and CPU
    • returning CPU pointer for upload
    • GPU for binding memory
  • gpu work scheduling

Physical Cameras in Stingray [wayback-archive]

  • controlled by the same parameters a real world camera
  • camera body
    • sensor size
    • iso sensitivity
    • shutter speed
  • lens
    • focal length
    • focus range
    • aperture diameters
  • allows override with artistic choices
  • real world validation setup

Compact Cube Meshes, and Compact Cube Meshes in Unity [wayback-archive]

  • storing data in per-face data structures instead of vertices
  • calculate face index in vertex shader and reconstruct vertex data

Debug Draw with Cached Meshes & Vertex Shaders in Unity [wayback-archive]

  • how to implement debug drawing using only Debug.DrawLine
  • using cached meshes, with vertex shader modifications if possible
  • dynamic batching breaks object space vertex shaders

Microfacet-based Normal Mapping for Robust Monte Carlo Path Tracing [wayback-archive]

  • solution for energy loss, backfacing normals
  • model is symmetric, while classical normal maps are not
  • adds some extra computational complexity compared to “classical” normal mapping

Triangle Reordering for Efficient Rendering in Complex Scenes [wayback-archive]

  • reduce overdraw and optimize vertex cache reuse
  • uses keyframe animated model, breaking down into clusters and multiple index buffers
  • optimize for different view directions
  • select “best-fit” index buffer based on the view at runtime

Half Tile Offset Streaming World Grids [wayback-archive]

  • proposes offsetting grid tiles by half a tile to reduce memory required in a streaming world

Half-edge data structure considered harmful [wayback-archive]

  • list possible problems with a half-edge data structure
  • and a possible alternative (‘connected triangle’)