The bottom line is, use some standardized conversion (like described here — just to avoid surprising users) if images don’t actually matter, some contrast-preserving method if content matters, and edit creatively otherwise.
The bottom line is, use some standardized conversion (like described here — just to avoid surprising users) if images don’t actually matter, some contrast-preserving method if content matters, and edit creatively otherwise.
The basic way to do it, is with weighted LUTs. The "poor man's conversion" was to just convert the green channel, and toss out the red and blue.
But I'm unaware of rendering engines that do alpha blending in something other than linear or SRGB. Photoshop, for instance, blends in sRGB by default, while renderers that simulate light physically will blend in linear RGB (to the best of my knowledge).
It depends on the GPU and the implementation, but I personally would not want to spend the compute on per-pixel CIELAB conversions for blending.
Well, spectral rendering is a thing, kinda bypasses the problem of color blending for rendering in some cases.
I have found that getting weighted LUTs that have been extracted from some process (math, context measurements, user testing, etc.), and simply applying them in the conversion is how you execute the conversion, but generating the LUTs is the tricky part. It's not always best handled by a formula. I guess you could really go crazy, and generate the LUT on the fly, as a per-pixel conversion (we actually did something like this, for RAW conversion).
The dark irony then, is that sRGB with its gamma curve applied, models luminance better (closer to human perception) for blending than linear does. If you can afford to do the blend in a perceptually uniform space like oklab, even better of course.