diff options
Diffstat (limited to 'rotord/rotor.h')
| -rwxr-xr-x | rotord/rotor.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/rotord/rotor.h b/rotord/rotor.h index 136d812..1b68f2b 100755 --- a/rotord/rotor.h +++ b/rotord/rotor.h @@ -1010,6 +1010,8 @@ namespace Rotor { #define BLEND_multiply 2 #define BLEND_blend 3 #define BLEND_alpha 4 + #define BLEND_screen_wrap 5 + #define BLEND_multiply_wrap 6 class Blend: public Image_node { public: Blend(){image=nullptr;}; @@ -1022,6 +1024,8 @@ namespace Rotor { if (_mode=="multiply") mode=BLEND_multiply; if (_mode=="blend") mode=BLEND_blend; if (_mode=="alpha") mode=BLEND_alpha; + if (_mode=="screen_wrap") mode=BLEND_screen_wrap; + if (_mode=="multiply_wrap") mode=BLEND_multiply_wrap; }; void link_params() { for (auto p:parameter_inputs){ @@ -1048,6 +1052,12 @@ namespace Rotor { case BLEND_alpha: (*image)=(*image).alpha_blend(*(((Image_node*)image_inputs[1]->connection)->get_output(frame))); break; + case BLEND_screen_wrap: + (*image)=(*image).add_wrap(*(((Image_node*)image_inputs[1]->connection)->get_output(frame))); + break; + case BLEND_multiply_wrap: + (*image)=(*image).divide_wrap(*(((Image_node*)image_inputs[1]->connection)->get_output(frame))); + break; case BLEND_blend: //has to be last because of initialser of *in? go figure (*image)*=(1.0f-amount); Image *in=(*(((Image_node*)image_inputs[1]->connection)->get_output(frame)))*amount; |
