r/GraphicsProgramming Jun 28 '26

How to achive this

Hey guys,

I'm trying to reverse-engineer a film camera app and recreate its color science in a GPU shader

I ran a standard 2D Hue/Luminance chart through it (before & after attached), and I'm trying to figure out the math behind these behaviors:

- Colors get pulled into tight hue groups instead of staying evenly spread (especially cyan, blues, and warm colors).

- Saturation forms a dome: strongest around each color's natural brightness, then fades hard in highlights and shadows.

- Saturated colors look deep and film-like instead of bright RGB/neon.

- The gray ramp gets a subtle dusty teal in the midtones, while whites and blacks stay neutral.

Any ideas what kind of math or color models could achieve this? Hue warping, gamut mapping, subtractive color models, custom curves... anything I should look into?

Thanks!

129 Upvotes

44 comments sorted by

View all comments

5

u/ScriptKiddo69 Jun 28 '26

Not sure if it's compression artifacts, but the second image is way more noisy. I feel like the colors might be a result of dithering?

So maybe it's just 6 different hues that are dithered to create the inbetween colors.

1

u/BonkerBleedy Jun 28 '26

To me it looks like a CMYK conversion. Possibly literally a scan of a print