Hello Do QCPluginInputImageProviders account for differences in gamma (ie, GenericRGBLinear, GenericRGB vs DisplayRGB color spaces?) and correct/linearize? In my tests, they appear not to. Is this a bug or expected behavior where plugin developers need to account for gamma themselves?
Let me explain what I am doing and how I am testing this: In the process of porting some GLSL shaders from custom QC Plugins to vanilla Core Image kernels, I noticed that my output image looks quite different when the same logic/math is run through a CIKernel vs a GLSL shader. To simplify and make sure I was not doing anything wrong in my custom plugin, I attempted to use the GLSL Macro patch to run my shader - which still shows significant difference to the core image version - the exact (pixel for pixel) difference that my custom plugin has. It appears as though Core Image is linearizing the input image and then applying the kernel functions, where as in the GLSL and custom plugin methods, that the image is not being linearized to 1.0 gamma. Here are two example comps that demonstrate the issue: Both compositions look the same when the 'amount' variable is set to 0. This is passing out the original pixels unchanged in both GLSL and Core Image kernels. This results in the same output image appearance (although each image is marked with a different color space - Core Image Linear RGB - GLSL with Display RGB). The second simply mixes to the color white , the first is slightly more complicated but demonstrates a bit more of a shift. When you being to adjust the amount parameters, the results from CI and GL begin to diverge pretty drastically. What exactly is going on here? Is this expected, or not? I would imagine since QC and CI both know the colorspaces that the image is in, its own working color space, and the output color space, the images ought to match if? I note that I can get both Core Image an QC to "agree" on output values if I use a custom application and initialize a QCRenderer with a GenericRGBLinear colorspace. In that instance both QC and CI always agree, but the output is vastly DIFFERENT from the Quartz Composer editor (Display RGB), or from the same application with GenericRGB / Display RGB set. http://i.imgur.com/tdQ1K.jpg
QC Color Space Question 2.qtz
Description: application/quartzcomposer
QC Color Space Question.qtz
Description: application/quartzcomposer
Im just curious if this is expected or not, and if I am misunderstanding how QC / CI should be behaving with regard to colorspaces/linearizing. Thanks!
_______________________________________________ Do not post admin requests to the list. They will be ignored. Quartzcomposer-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com This email sent to [email protected]

