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
    A

    Adrian Courrèges

    adriancourreges.com · Personal blog · on HN since 2015

    Adrian Courrèges writes detailed graphics studies of how games such as GTA V and Doom 2016 render a frame.

    Visit blogHN submissions
    GamesSystems & PerformanceProgramming
    What HN says

    HN commenters credit him with starting the trend of game graphics studies, praise his Doom 2016 analysis, and say his blog inspired their own analyses.

    Stats for nerds
    60HN people shared it
    27linked in comments
    2.6Kstory points
    Mar 2026last shared
    2015people per year2026

    Top posts on HN

    1. 1
      GTA V – Graphics Study
      17 people · 645 points · first shared 2015 · 52 comments on HN
    2. 2
      Beware of Transparent Pixels
      2 people · 568 points · first shared 2017 · 93 comments on HN
    3. 3
      How Doom 2016 Renders a Frame
      15 people · 495 points · first shared 2016 · 111 comments on HN
    4. 4
      Deus Ex: Human Revolution – Graphics Study
      5 people · 358 points · first shared 2015 · 120 comments on HN
    5. 5
      Supreme Commander – Graphics Study
      6 people · 296 points · first shared 2015 · 62 comments on HN
    6. 6
      Metal Gear Solid V – Graphics Study
      6 people · 250 points · first shared 2017 · 62 comments on HN
    7. 7
      Graphics Studies Compilation
      7 people · 6 points · first shared 2021 · Discussion on HN
    8. 8
      GTA V Graphics Study (2015)
      1 person · 4 points · first shared 2017 · 1 comments on HN
    9. 9
      Getting Banned from Google Play
      1 person · 2 points · first shared 2016 · 1 comments on HN
    10. 10
      Introducing Linux Visual Novel Reader
      1 person · 1 points · first shared 2015 · Discussion on HN

    What HN people wrote when they linked it

    • mrecAug 2020

      I think mostly because having scads of clever conditionals all over the place greatly increases the risk of subtle and hard-to-reproduce bugs. From a 2007 Carmack email [1] :

      > The way we have traditionally measured performance and optimized our games encouraged a lot of conditional operations -- recognizing that a particular operation doesn't need to be done in some subset of the operating states, and skipping it. This gives better demo timing numbers, but a huge amount of bugs are generated because skipping the expensive operation also usually skips some other state updating that turns out to be needed elsewhere.

      > We definitely still have tasks that are performance intensive enough to need optimization, but the style gets applied as a matter of course in many cases where a performance benefit is negligible, but we still eat the bugs. Now that we are firmly decided on a 60hz game, worst case performance is more important than average case performance, so highly variable performance should be looked down on even more.

      There was fascinating breakdown [2] of a single GTA V frame about five years back. It was a real eye-opener for me - whole full-screen rendering passes for things like water reflection and refraction when there isn't even any water visible in the scene.

      [1] http://number-none.com/blow/john_carmack_on_inlined_code.html

      [2] http://www.adriancourreges.com/blog/2015/11/02/gta-v-graphics-study/

    • frikDec 2017

      Great blog post. Maybe he will post another article about MGSV5 open world rendering, as it's one of the highlights of the Fox engine.

      Anyway RAGE engine from Rockstar (GTA IV+V, RDR 1+2) is probably one of the most advanced engines, so much details in rendering.

      http://www.adriancourreges.com/blog/2015/11/02/gta-v-graphics-study-part-3/

      A detailed comparison of open world game engines would be interesting with focus on LOD, streaming and rendering techniques.

      * RAGE (GTA5/RDR2)
      * AnvilNext (AC:O, GR:Widelands)
      * Frostbite3 (NfS:Payback, SW:Battlefront2)
      * Just Cause 3
      * Watch Dogs 2
      * Mafia 2/3
      * Dunia (Far Cry 4/5)
      * Decima (Horizon Zero Dawn)
      * Fox (MGSV)
      * REDengine (Witcher 3)
      * Minecraft (Java + new C++ Bedrock ed)
      * Genome (Elex)
      * CryEngine/Lumberyard
      * Unity
      * Unreal 4 (PUBG)

      It's impressive how such game engines provide seamless high speed travel with vehicles (cars, airplanes) in an open world environment.

    • amjoshuamichaelNov 2024

      Graphics programming analysis done using examples written in WebGL–genius. Hypertext that takes full advantage of the medium. This reminds me of something I'd see on https://pudding.cool/, but it goes far more in depth than anything there. Absolutely fantastic article.

      I've been using MSAAx4 in my rendering engine for some time and only recently have considered switching to a FXAA / TAA implementation. I'm actually not sure I'm going to go through with that now. I definitely learned a lot here, and will probably use the analytical approach for UI items, I hadn't heard about that anywhere.

      Not often you see graphics-programming stuff on HN. For anyone interested in more graphics write-ups, this list of frame breakdowns is one of my favorite resources:

      https://www.adriancourreges.com/blog/

    • jamcohenFeb 2021

      Definitely agree about “juicing” your game, especially from a visual perspective. There’s so many graphics concepts that I didn’t know about and didn’t have the eye to recognize.

      Things like ambient occlusion, bloom, reflection probes, and physically based rendering/materials were totally unknown to me but were really essential to making a game look “AAA”.

      Adrian Courreges has a great list of graphics studies that expose you to the space:
      https://www.adriancourreges.com/blog/2020/12/29/graphics-studies-compilation/

      Following technical artists on Twitter is also a great way to get exposure on more one-off techniques (how to make a fire effect etc.)

      I’m a big fan of @minionsart and @adrianmendezzg but there’s tons of other indie devs and technical
      artists sharing their work.

    • npteljesSep 2022

      Education is about exercising the mind. I don't think many play with inflated balls in their adulthood, yet it's very important to teach children hand-eye coordination, team play, and other concepts so that they become better functioning humans.

      There are problems with the curriculum though, one of them that it plays catch-up with the state of the world. IT in particular moves very fast. Graphics programming is not one of these things however. For example, if you've done the courses, and experiences just how hard it is to crate anything in 3d, you can better appreciate the work that goes into modern 3d engines. Look at this beautiful breakdown of the inner workings of the GTA V engine:

      http://www.adriancourreges.com/blog/2015/11/02/gta-v-graphics-study/

    • LercNov 2015

      I always thought this was an approach that would be well suited to ray tracing or similar. Both ray tracing and rasterisation are proportional to scene complexity and pixel count, but the balance is different. Ray tracing handles scene complexity better and rasterization covers pixels quicker.

      The excellent http://www.adriancourreges.com/blog/2015/11/02/gta-v-graphics-study/ shows how many pixels are written to to construct a scene using rasterization. Many many intermediate render targets are involved. Any intermediate layers that are not directly in screen-space would not benefit from foveation.

      Raytracing/ray marching etc. working on a pixel by pixel basis would be far more suited to larger fuzzy pixels where you are not looking.

    Related

    Fabian Giesenfgiesen.wordpress.com200 people

    Why do CPUs have multiple cache levels?

    Fabian Giesen
    Personal · last shared 2026
    Sean Barrettnothings.org90 people

    Corners Don't Look Like That: Regarding Screenspace Ambient Occlusion (2012)

    Sean Barrett
    Personal · last shared 2026
    DirectX Developer Blogdevblogs.microsoft.com/directx86 people

    DirectX is coming to the Windows Subsystem for Linux

    DirectX Developer Blog
    Company · last shared 2026
    Emmanuel Lopezelopezr.com15 people

    Rendering of Rise of the Tomb Raider

    Emmanuel Lopez
    Personal · last shared 2025
    Josh Barczakjoshbarczak.com18 people

    OpenGL Is Broken

    Josh Barczak
    Personal · last shared 2025
    NVIDIA Technical Blogdevblogs.nvidia.com177 people

    Volta: Advanced Data Center GPU

    NVIDIA Technical Blog
    Company · last shared 2025
    Interplay of Lightinterplayoflight.wordpress.com17 people

    How Unreal Renders a Frame

    Interplay of Light
    Personal · last shared 2026
    Simon Schreibtsimonschreibt.de33 people

    Don’t starve, Diablo – Parallax 7 (2016)

    Simon Schreibt
    Personal · last shared 2026