Hello ...
I haven't yet discovered a way to get Photoshop (5.5) to do what I need, but I found a handy utility called
ImagePreUnMultiplier and dropped one of my problematic images onto it. I tried pre-multiplying and pre-unmultiplying.
The results: pre-multiplying caused the "NSImageView" version of the image to look exactly like the old OpenGL version (dark at the semi-transparent stages) and the OpenGL version to look even worse; pre-un-multiplying caused the new NSImageView version to look absolutely creepy, but made the new OpenGL version to look the way I want. Success!
Well, almost. There's a loss of definition around the edges. (It's especially noticeable in images involving text.) That's annoying.
What's worse: My app uses the same batch of images in NSImageViews as well as OpenGLViews, and the NSImageViews show the absolutely creepy renditions. There are far too many images to duplicate and have an nsimage-compatible version and opengl-compatible version of each one.
Is there a way to have NSImage hand off a pre-multiplied (or pre-un-multiplied ... I'm getting this all confused at this point) version of a file to OpenGL? The NeHe sample code loads a file into NSBitmapImageRep and builds a texture from that. Would a different strategy help?
Thanks ...
DayLateDon