this post was submitted on 06 Dec 2024
350 points (98.3% liked)

Technology

59963 readers
3351 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 2 years ago
MODERATORS
 

cross-posted from: https://lemmy.ca/post/34328210

all 28 comments
sorted by: hot top controversial new old
[–] ch00f@lemmy.world 153 points 1 week ago (2 children)

For those who just wanna know: cards at the time performed math on brightness values assuming a linear brightness scale when it should be logarithmic.

[–] wewbull@feddit.uk 113 points 1 week ago (1 children)

....ish

The maths was right, except it was all being done on colour values than already had the CRTs response curve baked into them. You may have heard of "gamma correction". Well, this is when you correct an images colour values for the display you'll view it on.

Blending before gamma correction and after gamma correction produce very different results. The cards were doing it after. This story is about doing it before.

Paul Debevec had similar observations around the same time. His work at the time was all about HDRI and that was put into Source a few years later.

[–] ch00f@lemmy.world 38 points 1 week ago (1 children)

Figured someone would do it better than me. Thanks for the correction

[–] Excrubulent@slrpnk.net 11 points 1 week ago

Fastest way to get an answer on the internet.

[–] BlackLaZoR@fedia.io 45 points 1 week ago (5 children)

"It's a bit technical," begins Birdwell, "but the simple version is that graphics cards at the time always stored RGB textures and even displayed everything as non linear intensities, meaning that an 8 bit RGB value of 128 encodes a pixel that's about 22% as bright as a value of 255, but the graphics hardware was doing lighting calculations as though everything was linear.

Jesus Christ, I knew this was a problem with image editing software back then, but I never knew, that GPU manufacturers fucked it up as well. How did this happen?

[–] Mistic@lemmy.world 15 points 1 week ago* (last edited 1 week ago) (1 children)

I have a good guess on how this would actually happen:

PM: We need this

Specialist: makes this (doesn't check results)

QC: Looks good (but doesn't actually check)

Some updates later may further break the functionality. And as long as numbers aren't blatantly wrong (think 0s everywhere, for example) and nobody checks thoroughly enough, the issue will remain.

I have unfortunate experience of being a part of such a story, haha. There are ways to counter it. Mainly, their project documentation either wasn't up to par or wasn't used as a reference during creation and tests. Either way, it's negligence.

[–] BlackLaZoR@fedia.io 3 points 1 week ago

I imagine in case of GPU design, there should be a bunch of tests for image correctness at some point, which would require pixel perfect reproduction to pass.

But it's plausible that tests were running incorrect math too.

[–] Iapar@feddit.org 6 points 1 week ago

"They are just human after aaaall 🎶"

[–] SpaceNoodle@lemmy.world 3 points 1 week ago
[–] leds@feddit.dk 2 points 1 week ago

Linear is probably a lot faster?

[–] SkaveRat@discuss.tchncs.de 29 points 1 week ago

When the HL2 documentary came out, someone said "all these gaming news sites will have contant for months" and they were absolutely right

[–] SpaceNoodle@lemmy.world 18 points 1 week ago

I do this to my silicon vendor. I apparently made some people's lives very uncomfortable for a good while this past year after I decompiled some of their binary blobs.

[–] ekZepp@lemmy.world 15 points 1 week ago
[–] latenightnoir@lemmy.world 7 points 1 week ago (1 children)

That moment when there's one company with which you'd almost be OK if they turned into a monopoly (still no, though).

[–] palordrolap@fedia.io 34 points 1 week ago (2 children)

Valve is that perfect example of being just shitty enough to be annoying without stepping over the line into complete enshittification. But this too will happen. I reckon there'd be good odds of it happening not long after Gabe retires.

[–] latenightnoir@lemmy.world 8 points 1 week ago

That's my main worry, and why I'd never want a monopoly of any sort with contemporary hierarchical structures.

[–] 5C5C5C@programming.dev 4 points 1 week ago

If they ever go public then yes, enshittification is guaranteed. As long as they remain a privately held company, there's a chance they can hold the enshittification at bay.

[–] DaddleDew@lemmy.world 7 points 1 week ago (2 children)

That explains why Doom 3's shading looked so bad

[–] InFerNo@lemmy.ml 1 points 1 week ago

Mhm yes, is this going to fuck up older games?

[–] jagged_circle@feddit.nl 1 points 1 week ago

Wasn't their shading the whole selling point?

[–] jagged_circle@feddit.nl 7 points 1 week ago (2 children)

Everyone's saying RGB is the problem, but what's the alternative? CMYK?

[–] sunbeam60@lemmy.one 7 points 1 week ago

The way I read about it they were merely talking about out gamma correction. Or HDR—>SDR mapping - I wouldn’t say the article is super clear.

[–] Asidonhopo@lemmy.world 1 points 1 week ago* (last edited 1 week ago)

Allow me to introduce you to the perceptually uniform color spaces, CIELAB, CIELUV and HSLuv, something I needed for a project I was working on a few years ago:

https://programmingdesignsystems.com/color/perceptually-uniform-color-spaces/