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
    Y

    Yosoygames

    yosoygames.com.ar · Personal blog · on HN since 2013

    Yosoygames is a graphics programmer's blog on Vulkan, OpenGL, Direct3D, rendering techniques, and game engine development.

    Visit blogRSSHN submissions
    ProgrammingGamesSystems & Performance
    What HN says

    HN commenters link its Vulkan FAQ and Linux display driver post as useful, still relevant explanations, plus a piece on what he dislikes about OpenGL.

    Stats for nerds
    18HN people shared it
    14linked in comments
    256story points
    Oct 2025last shared
    2015people per year2025

    Top posts on HN

    1. 1
      Maybe it’s time to talk about a new Linux Display Driver Model
      2 people · 224 points · first shared 2015 · 65 comments on HN
    2. 2
      Direct3D11 vs. OpenGL4.4 in 2015, an experience review
      1 person · 8 points · first shared 2015 · Discussion on HN
    3. 3
      Is everything ok, Nvidia?
      1 person · 6 points · first shared 2014 · Discussion on HN
    4. 4
      Clustered Forward vs. Deferred Shading
      1 person · 3 points · first shared 2020 · Discussion on HN
    5. 5
      Millions of Triangles Like in UE5?
      1 person · 3 points · first shared 2020 · Discussion on HN
    6. 6
      Vulkan "But Why?" FAQ
      2 people · 2 points · first shared 2023 · Discussion on HN
    7. 7
      Where do I start graphics programming?
      1 person · 2 points · first shared 2017 · Discussion on HN
    8. 8
      Microsoft, we need to talk about Visual Studio | Yosoygames
      1 person · 2 points · first shared 2014 · Discussion on HN
    9. 9
      “We don’t care really how long it takes”
      1 person · 2 points · first shared 2014 · Discussion on HN
    10. 10
      On Mike Acton’s review of OgreNode.cpp
      2 people · 1 points · first shared 2013 · Discussion on HN

    What HN people wrote when they linked it

    • TheLoneWolflingApr 2015

      If only. Even something as simple as this, where x and y and a are floating-point values:

      if( a == x/y )
      assert( a == x/y );

      Is legally allowed to trigger (!). Worse, it's also legally allowed to not trigger.

      That's right. The above can be legally compiled to always trigger, or never trigger, or even to sometimes trigger (although this is rare in practice).

      Why? C / C++ allow floats to be stored with excess precision. And they lose that excess precision when spilled to RAM. And GCC isn't deterministic. So x/y may be pulled out as a common subexpression and spilled to a register after the first usage, and it triggers. And then the next time it isn't, and it doesn't. (Effectively, the difference between this:

      temp = x/y
      if( a == temp) {
      spill(temp);
      assert( a == temp );
      }

      and this:

      temp = x/y
      if( a == temp) {
      assert( a == temp );
      }

      Yes, it'll (generally - though the standard doesn't dictate that it will be!) be deterministic in terms of always with a given example in an single binary triggering or not triggering, but that is irrelevant, as binaries aren't cross-platform and you aren't always loading exactly the same binaries of the dynamic libraries you've linked to.

      You can (most of the time) work around this by manually setting FPU precision (note that you need to change the precision of both the mantissa and exponent, as otherwise you can still end up with issues). (Except that you, in C++ at least, have to work…

    • JachJun 2017

      I wouldn't predict a lot of overlap. On the game dev side, Go offers nothing new, and the forced untuneable gc will be an instant turnoff for the usual reasons. On the Go side, my outside perspective is most of its users seem to be focused on web server backends, trying to justify async everywhere, and/or rewriting slow Python or Perl or Bash scripts and assuming that makes it a systems language.

      Go users interested in diving in to SDL or OpenGL bindings to make a game shouldn't be discouraged. Lots of games are made in all sorts of high level languages, the heavy lifting is put onto a few native libraries. But if the goal is to make a general engine, I'd question its utility apart from fun/learning. Again there are game engines in high level languages (with dark native-level secrets in any that try to be performant) but they don't seem to get traction. Even an engine in e.g. C++ doesn't necessarily help your performance goals (http://www.yosoygames.com.ar/wp/2013/11/on-mike-actons-review-of-ogrenode-cpp/) if your plan is to make it general instead of make it just support whatever sorts of games you're making and planning to make.

    • flohofwoeApr 2023

      These are good posts to answer your question I think:

      - https://www.yosoygames.com.ar/wp/2023/04/vulkan-why-faq/

      - https://www.gfxstrand.net/faith/blog/2022/08/descriptors-are-hard/

      In places where Vulkan feels unnecessarily restrictive, the reason is mostly one or another mobile GPUs which still have a lot of hardwired expectations about how incoming data should be structured.

      AFAIK it's mostly not about tiled renderers but about resource binding (e.g. getting data into shaders).

      Apple's mobile GPUs are pretty much top of the crop and mostly don't suffer from those restrictions (and they also only need to worry about Metal anyway). It's Android land where all the problems lurk.

    • kirushikJul 2015

      Maybe this?
      http://www.yosoygames.com.ar/wp/2013/09/what-i-hate-from-opengl-api/

      OpenGL is a good concept, but it's real-world usage turned it into an ugly mess with a too deep reliance on the competence of the developer.

    • RohansiOct 2025

      https://www.yosoygames.com.ar/wp/2015/09/maybe-its-time-to-talk-about-a-new-linux-display-driver-model/ (2015)

      Still seems very relevant.

    Related

    DirectX Developer Blogblogs.msdn.microsoft.com/directx18 people

    Announcing Microsoft DirectX Raytracing

    DirectX Developer Blog
    Company · last shared 2019
    Mecheyeblog.mecheye.net46 people

    Why are 2D vector graphics so much harder than 3D?

    Mecheye
    Personal · last shared 2025
    Bitsquid Blogbitsquid.blogspot.com25 people

    Allocation Adventures: The Buddy Allocator

    Bitsquid Blog
    Company · last shared 2025
    Imagination Technologies Blogblog.imgtec.com27 people

    PowerVR GR6500: Ray tracing is the future and the future is now

    Imagination Technologies Blog
    Company · last shared 2016
    Stride Blogstride3d.net23 people

    Stride Game Engine

    Stride Blog
    Company · last shared 2026
    Adrian Courrègesadriancourreges.com60 people

    GTA V – Graphics Study

    Adrian Courrèges
    Personal · last shared 2026
    GPUOpengpuopen.com101 people

    It’s Time to Open Up the GPU

    GPUOpen
    Company · last shared 2026
    Aras Pranckevičiusaras-p.info79 people

    I accidentally Blender VSE

    Aras Pranckevičius
    Personal · last shared 2026