The Curious Engineer

All blogs / Graphics

Interplay of Light

interplayoflight.wordpress.com

GraphicsGame development

Posts
78 from 2 Jan 2013 to 21 Feb 2026
Posting
now and then (3 in the last year)
Kind
personal blog
Feed
https://interplayoflight.wordpress.com/feed/

2026 2

  1. Adventures in Neural Rendering part 2: Cooperative vectors
  2. Adventures in Neural Rendering

2025 6

  1. Spatial hashing for raytraced ambient occlusion
  2. The performance impact of vertex shader exports
  3. GPU utilisation and performance improvements
  4. Async compute all the things
  5. Meshlets and Mesh Shaders
  6. The hidden cost of shader instructions

2024 2

  1. An introduction to workgraphs part 2: Performance
  2. A quick introduction to workgraphs

2023 5

  1. Low-level thinking in high-level shading languages 2023
  2. A gentler introduction to ReSTIR
  3. Raytraced Order Independent Transparency part 2
  4. Raytraced Order Independent Transparency
  5. Experimenting with fp16, part 2

2022 12

  1. Experimenting with fp16 in shaders
  2. Stream compaction using wave intrinsics
  3. Notes on screenspace reflections with FidelityFX SSSR
  4. Order Independent Transparency: Endgame
  5. Order independent transparency, part 2
  6. Order independent transparency, part 1
  7. Accelerating raytracing using software VRS
  8. Increasing wave coherence with ray binning
  9. Raytracing, a 4 year retrospective
  10. Raytraced global illumination denoising
  11. Abstracting the Graphics API for a toy renderer
  12. Shader tips and tricks

2021 8

  1. Occlusion and directionality in image based lighting: implementation details
  2. Notes on occlusion and directionality in image based lighting.
  3. Shaded vertex reuse on modern GPUs
  4. The curious case of slow raytracing on a high end GPU
  5. Book review: 3D Graphics Rendering Cookbook
  6. Raytracing tidbits
  7. Experiments in Hybrid Raytraced Shadows
  8. How to read shader assembly

2020 11

  1. RDNA 2 hardware raytracing
  2. To z-prepass or not to z-prepass
  3. What is shader occupancy and why do we care about it?
  4. Adding support for two-level acceleration for raytracing
  5. Using Embree generated BVH trees for GPU raytracing
  6. Open Twitter DMs, a 2 year retrospective
  7. A Survey of Temporal Antialiasing Techniques: presentation notes
  8. Optimizing for the RDNA Architecture: presentation notes
  9. GPU architecture resources
  10. Validating physical light units
  11. Ways to speedup pixel shader execution

2019 2

  1. Hybrid screen-space reflections
  2. Game Developers Conference 2019 links

2018 8

  1. Readings on the State of the Art in Rendering
  2. Hybrid raytraced shadows part 2: performance improvements
  3. Applying for a graphics programming job
  4. How to start learning graphics programming?
  5. Hybrid raytraced shadows and reflections
  6. GPU Driven rendering experiments at the Digital Dragons conference
  7. Porting GPU driven occlusion culling to bgfx
  8. Experiments in GPU-based occlusion culling part 2: MultiDrawIndirect and mesh lodding

2017 5

  1. Deferred Signed Distance Field rendering
  2. Experiments in GPU-based occlusion culling
  3. How Unreal Renders a Frame part 3
  4. How Unreal Renders a Frame part 2
  5. How Unreal Renders a Frame

2015 2

  1. Adventures in postprocessing with Unity
  2. The Rendering Technology of SkySaga: Infinite Isles

2014 2

  1. Rendering Fur using Tessellation
  2. Branches and texture sampling

2013 13

  1. Readings on Physically Based Rendering
  2. An educational, normalised, Blinn-Phong shader
  3. Lighting alpha objects in deferred rendering environments
  4. Dual depth buffering for translucency rendering
  5. Correctly interpolating view/light vectors on large triangles
  6. Parallax-corrected cubemapping with any cubemap
  7. Instant Radiosity and light-prepass rendering
  8. SharpDX and 3D model loading
  9. Using Unity as an FX Composer replacement for shader prototyping
  10. Normal Mapping Without Precomputed Tangents
  11. Order and types of depth testing
  12. Tools of the trade
  13. Let there be light!