> Does this mean that when color correction is on, one is running the image 
> through colorsync? So, one could run through needless stages of color sync 
> (?).

It just tags the image with a colorspace so that down-stream things can correct 
if necessary.  It doesn't convert anything, just adds metadata.


>  If Pixel Aligned is _NOT_ enabled, you'll also add GL filtering (unless 
> Native Core Image rendering is enabled) if your position is not pixel aligned
> 
> This is what I was driving at about filtering; what happens when something 
> isn't aligned....
> 
> GL filtering? Is this literally "GL Filtering"? 

Yes.  As in, you read pixel 0.5, 0.5.  That's  0.25 * pixel(0,0) + 0.25 * 
pixel(0,1) + 0.25 * pixel(1,0) + 0.25 * pixel(1,1).

or (pixel(0,0) + pixel(0,1) + pixel(1,0) + pixel(1,1)) / 4, if you please.

So let's say pixels (0,0) and (1,1) were white(1.0), and pixels (0,1) and (1,0) 
were black(0.0).  That's a 2x2 black and white checkerboard.

The above GL filtering will proudly do the most complicated memory fetch in 
history (texel fetches + filtering = holy cow that's a bunch of work), and then 
return 0.5 (half white, half black).

Unfortunately, that's assuming linear space ((1.0 + 0.0) / 2 = 0.5).  Pixels in 
8bit images are stored in gamma space, so you _want_ a result 178ish (~0.7 in 
normalized space), if I recall correctly.  to do that you have to do a bunch of 
de-gamma+math+re-gamma steps that few people do because it's slower and more 
complicated.

(Note:  there's an sRGB gl texture format extension that might deal with this 
for you -- I haven't played with it enough to know if it helps).

deeper textures are _supposed_ to be in linear space, but it's hit or miss as 
to whether or not they really are.


> -- GL doesn't properly blend with respect to gamma, so you'll get brightness 
> shifts (not color shifts that are characteristic with color mis-correction).  
> The amount of this filtering is a function of how mis-aligned your billboard 
> is.
> 
> Does this gamma blend problem happen when rendering to Sprite or GLSL and 
> grid as well (or, especially)?

If you're rendering using OpenGL and gamma textures, it happens.  that 
encompasses every possible render path in QC except for Native Core Image 
rendering, which does the right thing (since it works in linear space, and 
properly de-gamma/re-gammas its input/output).

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list      (Quartzcomposer-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to