I have tried to mimic “Tarashikomi”(Japanese painting technique) for my next project. And I found it is more general ink/fluid deposition simulator.
Highly parameter sensitive, but works.
Here is the addon: https://github.com/Akira-Hayasaka/ofxInkSim
@theborg thank you!
I refactored every shader and added ofxInkSimFillBufferExample .
This is such a wonderful addon! I would like to use your addon for my project and can I ask if there is any suggestion if I want to draw a background image (to add some texture to the drawing) please?
actually I use this addon with my ofxPSBlend to blend ink texture with background.
int blendMode = 0;
ofxPSBlend takes major photoshop blend mode like Overlay or Phoenix etc. Usually I bind blendMode var to keypress event, then try to find the best result.
Wowww Akira, this addon is wonderful :)))
May I ask if it would applies to video as well?
Yes of course, draw video every frame then it will be animated background
Wonderful addon you created!! Thanks for sharing it here!!
I’m trying to apply this aesthetic in some vectors I created. Would you have any hint/suggestion in how should I proceed?
I’m supper beginner with addons so I’m trying to apply them to the code I have already! So any advice will be great!
What would you like to do with your vectors?
I made these plants in oF using vectors, and I wanted to apply a painting aesthetic to it.
You can take a look here: Plant example
I think the easiest way to fill your flower with ink is to use mask shader.
- draw your flower into fbo. <= this is mask
- send ink texture and flower fbo to the shader
- discard mask pixel in fragment shader
- then the ink texture will be masked flower shape!
You can find the mask shader example in oF example folder.
Please note that this example using transparency for the mask.
I use ofxInkSimFillBufferExample, and if I set EvaporToDisapper to true, some shape edge appear when I press ‘f’ to keep adding random spot to fbo before background ink disappear, is this right? If EvaporToDisapper not open, everything looks good.
EvaporToDisapper = true bend the simulation pipeline in order to force the ink disappear. That the reason it looks strange but it is right behavior.
But I still saw some strange behaviour, maybe that is value leak or something else.
right now, I change InkXToShader to simple multi 0.99 to fake ink.
//fragColor = vec4(ix_new.rgb * (a.z*990.0), ix_new.a);
fragColor = vec4(ix_new.rgb * 0.99, ix_new.a);
Can I change the background color?