> > > It's definitely a 'plus' for evas to move with working > > > in premul color space internally (and recall: a,r,g,b is premul > > > iff a >= r,g,b). There are many reasons for this.. some I've > > > already stated here > > Just to clarify things, is it a case of "most of the pixel twiddling > needs to have this multiplication step done anyway, so we might as > well pre-multiply at the beginning to avoid lots of lengthy > multiplications happening deep in pixel handling loops, and some > external sources of pixels already come in premul form anyway"? >
Most of the compositing ops multiply the alpha by the r,g,b if one can't assume that a >= r,g,b. And if you are dealing with a dst image which itself has alpha, then not only do you have to mult the src colors by the alpha (agian, if they are not premul), but you also should *divide* the result of blending the colors by the result alpha - *extremely* slow.. which evas and imlib2 got around by using a 65Kb table that is somewhat faster than dividing, but which does not generalize well to other ops. But even when no ops are done, if the image has alpha, then one should replace the r,g,b by their alpha multiplied versions for sending to the display - definitely needed with the xrender engine for setting data on pictures. Internally, it's *much* more efficient to use premul colors, for dealing with compositing ops and for dealing with the xrender engine. If evas works internally with premul data, then when you set an object's color to (r,g,b,a), if we have evas assume that this is *not* premul, then evas will have no choice but to replace this by (r*a/255,g*a/255,b*a/255,a). That's what it *will* use to color the object by - not the input (r,g,b,a). The problem becomes somewhat coplicated when one has the option of 'doing stuff' with the colors other than just using them as a simple multiplier (which is what setting an obj's color will do). Then, lots of ambiguities and limitations come up with non-premul color inputs. jose. Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel