I’m working away on finishing up the rest of my 0.3 release this week and heres where things stand.
I’ve got screen, and blendColor() finished and tested. blendColor required writing a huge block of code for support for each of the 15 different blending modes and then a big test of different combinations of blending which I ran in the native processing app and then again in pjs to compare colors.
The test is here and you can use a browser plugin like colorzilla for firefox to sample the color boxes and see that everyone is exactly identical except the yellow block near the bottom right its off by 1 in the green channel which is allowable due to float rounding.
Where I’m at now is about half way through blend() implementation and I’ve realized just how much work I’ve got to do to get this working now. Blend also requires another 15 implementations of the different modes coupled with that both bilinear filtering and nearest neighbour modes are used which means 30 functions and each of those functions makes calls to my other 15 modes to color blend the pixels. On top of all that there is another 2-3 helper functions for filtering that need to be ported as well. The original processing JAVA PImage code is here that I’m basing the code off of to get through this.
All in all im looking at about 1000 lines of code to add for my 0.3 and thats without adding filter() … which has another 8 modes for filtering which is 8 additional functions that need to be ported as well.
End result ? I’m bumping filter() to 0.4 due to time constraints and the huge amount of work I didn’t account for when sceduling my initial 0.3 workload.