4 ms·
The point about gamma correction is important. Many effects like scaling and blurring should occur in what's called linear color space, otherwise you add or rem
by codeflo 3y ago
The point about gamma correction is important. Many effects like scaling and blurring should occur in what's called linear color space, otherwise you add or remove energy, which can look very wrong. Normal RGB isn't linear.
GPUs and most game engines get this correct, maybe because in animated 3D graphics, you'd notice this immediately. But browsers are ridiculously bad at understanding this -- there was an article a while back that demonstrated some pathological cases.
- jiggawatts 3y agoBrowsers, chat apps, social media apps, Outlook and all other email clients, Teams, Zoom, Adobe Photoshop (really!), DaVinci Resolve (a colorist tool ffs)[2], and on, and on... Developers assuming that RGB is a triplet of 8-bit numbers and that maths can be naively done to those numbers is one of my favourite examples of the Dunning Kruger effect.[1] It's such a rarity to see a tool correctly implement color management or linear light for transforms by default that it always jumps out as far out of the norm. > animated 3D graphics You'd think so... but no. It's a persistent error in 3D games as well, as well as 3D renderers like Blender. A common question posted in game-dev forums is "textures look brighter/lighter/faded in game compared to Photoshop". This is because most image editors use the sRGB non-linear gamma, but the game engine uses linear light because it's essentially a physical optics simulator. Beginner game developers load the sRGB 8-bit pixel values and then use them as-is without first undoing the gamma to bring them into the linear light space. This results in over-bright textures. The Quake engine and its derivatives were notorious for this kind of thing, made even worse by OpenGL accelerators like the 3dfs Voodoo card doing more incorrect things on top of that. Similarly, "Cinematic" mode in Blender should be renamed to "not broken" or simply "correct" color management mode. [1] I'm guilty of making all of the mistakes I've listed here, in a 3D engine, a ray tracer, and several other graphics utilities. We're all beginners at some point! [2] The "best" video colorist tool on the planet is not color managed on Windows or Linux. It outputs "whatever" to the screen and ha-ha... good luck. On a HDR screen, with HDR on, if you enable HDR in Resolve you get a washed-out incorrect mess. That just blows my mind.
- codeflo 3y ago> You'd think so... but no. Well, your first counter examples are beginner mistakes (obviously) and a graphics card that the younger half of HN readers have never heard of. Blender getting it wrong would be inexcusable, though. Maybe I was overly optimistic.
- david_for_you 3y agoBlender is a tool that gives you a lot of options and some of those would be "wrong", so it is partly up to the user to know what is correct. The defaults have been "correct" for a long time already though, at least regarding linear vs gamma space.
- MartijnBraam 3y agoTo be fair the solution in Resolve to get "correct" colors is with decklink cards bypassing the entire OS graphics stack to deal with this. It's only somewhat recently that Resolve started getting support for getting a fullscreen view on a second monitor that's not a decklink.
- jiggawatts 3y agoBlackmagic is a hardware company that also has some software they sell on the side, which is why they've steadfastly ignored fixing their software in any way that would eliminate the need to purchase their over-priced video output cards. My laptop can output 8K HDR @ 60 fps, which no Decklink card can achieve, at any price. I can get a "clean feed" by simply ticking the "Override to reference mode" checkbox in the NVIDIA driver. Several people have confirmed that this produces bit-accurate output indistinguishable from what a Decklink card outputs. > fullscreen view on a second monitor Yes, but it's still not color managed or even enabled for HDR under anything but MacOS! It just outputs the values as-is and lets the OS deal with it, which will treat it as Rec 709 SDR.
- Solvency 3y agoI agree but...huh? Chat apps? When are they dealing with linear color space? With video messages?
- deleted 3y ago[deleted]
- cust 3y ago[dead]