- blit_resize() helper function for blend and copy
- intersect() helper function for blend
- filter_new_scanline() helper function for blend
- filter_bilinear() helper function for blend
- rgbaToInt(), mix(), peg() helper functions for blendColor
- blendColor() blending modes : replace, blend, add, subtract, lightest, darkest, difference, exclusion, multiply, screen, hard_light, soft_light, overlay, dodge, burn.
A test for blendColor() is up right now but I can’t test blend and copy until I get PImage code from Anna.
The code is currently posted to my wiki until PImage gets pushed into the library. Then I can test some of the code that I cant right now.
Be back in January for 0.4-1.0 next semester !
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.
0.3 is about half way here now and I thought i’d throw up a post about what i’ll be working on and whats currently going on with the project.
Im going to be implementing blendColor(), blend(), copy, and filter(). I’m a little bit blocked at the moment but its semantics I have to sort out with F1LT3R but for now I’ve decided to put it aside while I get a few other projects done for my other classes first so I can dedicate all my time to processing and focus on quality work.
More to come in the next few days
our 0.1 is finally closed too so a new release may come soon.