Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    I

    Interplay of Light

    interplayoflight.wordpress.com · Personal blog · on HN since 2015

    A graphics programmer writes about GPU rendering, shaders, and real-time graphics techniques, including how engines like Unreal render a frame.

    Visit blogRSSHN submissions
    ProgrammingGamesSystems & Performance
    What HN says

    Commenters recommend it as a collection of graphics learning material and link its Unreal frame-rendering breakdown as interesting reading.

    Stats for nerds
    17HN people shared it
    56linked in comments
    539story points
    Mar 2025last shared
    2015people per year2025

    Top posts on HN

    1. 1
      How Unreal Renders a Frame
      2 people · 317 points · first shared 2017 · 161 comments on HN
    2. 2
      How to Read Shader Assembly
      2 people · 79 points · first shared 2021 · 3 comments on HN
    3. 3
      A quick introduction to DirectX workgraphs
      3 people · 51 points · first shared 2024 · 20 comments on HN
    4. 4
      Async Compute All the Things
      4 people · 9 points · first shared 2025 · Discussion on HN
    5. 5
      Low-Level Thinking in High-Level Shading Languages
      3 people · 8 points · first shared 2023 · Discussion on HN
    6. 6
      GPU Utilisation and Performance Improvements
      3 people · 6 points · first shared 2025 · Discussion on HN
    7. 7
      Raytraced Global Illumination Denoising
      2 people · 6 points · first shared 2022 · Discussion on HN
    8. 8
      Meshlets and Mesh Shaders
      2 people · 5 points · first shared 2025 · Discussion on HN
    9. 9
      GPU Architecture Resources
      2 people · 5 points · first shared 2020 · Discussion on HN
    10. 10
      Experimenting with FP16 in Shaders
      2 people · 5 points · first shared 2022 · Discussion on HN

    What HN people wrote when they linked it

    • jms55Mar 2025

      > Are you arguing for a better software abstraction, a different hardware abstraction or both?

      I don't speak for Raph, but imo it seems like he was arguing for both, and I agree with him.

      On the hardware side, GPUs have struggled with dynamic workloads at the API level (not e.g. thread-level dynamism, that's a separate topic) for around a decade. Indirect commands gave you some of that so at least the size of your data/workload can be variable if not the workloads themselves, then mesh shaders gave you a little more access to geometry processing, and finally workgraphs and device generated commands lets you have an actually dynamically defined workload (e.g. completely skipping dispatches for shading materials that weren't used on screen this frame). However it's still very early days, and the performance issues and lack of easy portability are problematic. See https://interplayoflight.wordpress.com/2024/09/09/an-introduction-to-workgraphs-part-2-performance for instance.

      On the software side shading languages have been garbage for far longer than hardware has been a problem. It's only in the last year or two that a proper language server for writing shaders has even existed (Slang's LSP). Much less the innumerable driver compiler bugs, lack of well defined semantics and memory model until the last few years, or the fact that we're still manually dividing work into the correct cache-aware chunks.

    • SuboptimalEngOct 2023

      Here's an article[0] by Kostas Anagnostou that I found helpful. He's spent over 2 decades in the graphics industry.

      His article gives a path for learning from the top of the stack and going down to the lower level stuff afterwards.

      TL;DR is Shadertoy -> Unity/Unreal -> Direct3D/OpenGL

      [0] https://interplayoflight.wordpress.com/2018/07/08/how-to-start-learn-graphics-programming/

    • dsp_personNov 2024

      it would be cool to see a more comprehensive comparison including methods with raytracing

      they have MLAB in their performance comparison table, is that ray traced? from this blog i think it sounds like it there's a rasterized version and a way to use ray tracing https://interplayoflight.wordpress.com/2023/07/30/raytraced-order-independent-transparency-part-2/

    • corysamaJul 2015

      Marmoset's articles are a great intro. Probably the most accessible I've found.

      If anyone wants to read a lot more, here's a collection of possibly a majority of the non-academic material to be found online: https://interplayoflight.wordpress.com/2013/12/30/readings-on-physically-based-rendering/

    • je42Nov 2018

      How Unreal renders a frame is also interesting:

      https://interplayoflight.wordpress.com/2017/10/25/how-unreal-renders-a-frame/

    Related

    Nathan Reedreedbeta.com23 people

    A Programmer’s Introduction to Unicode

    Nathan Reed
    Personal · last shared 2026
    Inigo Quileziquilezles.org210 people

    Articles on fractals, computer graphics, mathematics, demoscene and more

    Inigo Quilez
    Personal · last shared 2026
    Fabian Giesenfgiesen.wordpress.com200 people

    Why do CPUs have multiple cache levels?

    Fabian Giesen
    Personal · last shared 2026
    Aras Pranckevičiusaras-p.info79 people

    I accidentally Blender VSE

    Aras Pranckevičius
    Personal · last shared 2026
    CellPerformancecellperformance.beyond3d.com19 people

    Three Big Lies (2008)

    CellPerformance
    Personal · last shared 2025
    Adrian Courrègesadriancourreges.com60 people

    GTA V – Graphics Study

    Adrian Courrèges
    Personal · last shared 2026
    Karl Ruppkarlrupp.net16 people

    40 Years of Microprocessor Trend Data (2015)

    Karl Rupp
    Personal · last shared 2025
    Real-Time Renderingrealtimerendering.com77 people

    Get Your Book, Make It Free

    Real-Time Rendering
    Publication · last shared 2026