★ TouchArcade needs your help. Click here to support us on Patreon.

Simulator color profiles

12-01-2010, 08:40 PM
#1
Joined: Dec 2010
Location: Melbourne
Posts: 5
Simulator color profiles

I'm determined to get to the bottom of the simulator color profiling shenanigans I'm experiencing. Hopefully someone else in here has had a similar experience.

The simulator's render window looks overbright. I figured this would just be a gamma setting somewhere. The simulator itself doesn't seem to have an option for it, so I went hunting for the color profiles in system options and played with that. This only appears to fix the problem sometimes.

My particular problem has come about as I'm saving graphics data that doesn't go through the renderer at all out to the Documents folder for my application. Texture data gets loaded in, and the only real significant thing that happens to it is that the GL texture object gets created for it and has its pointer set to my data. However, sometimes (depending on criteria I haven't established yet) that texture data gets modified with the specified color curves. Conventional wisdom and the rest of the internet seem to indicate that color correction gets applied as a final step, but the results I'm getting indicate that in the simulator it's being pre-baked as a part of resource creation as well as the final step, resulting in an overbright final image.

This is most annoying as the images I'm saving out are destined to be reused later on, which will result in color correction being applied to the image again resulting in an double-overbright image. On the device itself the color correction does not occur, but since it's using resources generated by the simulator which does color correct it will appear as a single-overbright image. After playing around with the system's color correction settings and even playing with stuff like the simulator's window scale and zoom options, I haven't come up with a conclusive set of options that don't modify the binary data at all.

Given the impossibility of telling anyone else ever who might ever use the code about the color profiling shenanigans, I'd rather sort this out at a code level if at all possible.

Simulator is simulating iPad with 3.2 software. Xcode is from the 3.2.4 package with the iPhone SDK.
12-02-2010, 12:00 AM
#2
Joined: Dec 2010
Location: Melbourne
Posts: 5
Well, I powered on anyway and found what was at fault.

Our source images are in TIFF format, and Photoshop saves out an ICC chunk that defines how it should be read. Which means every piece of software we use reads it in different ways. As a result, it isn't so much that the simulator's modifying the data as it is the simulator isn't modifying the data.

The pain!