Pure image treatment question: wich evolution for vvvv?

curves are included here image-adjustment-pack
as well as some other code that might come handy

rgba joinā€¦

im not sure whats the better concept to have each texture (RGBA) as a separate texture pin or as a spread of textures on one pin?!

RGBAJoin.zip (3.4 kB)

@karistouf,

check the karistoufkeyer_main.v4p. this way you have maximum flexibilty about how you want to treat combine the individual color channelsā€¦

ok i think the difference to your example is that you have an alphachannel for each colorchannel right?

Karistouf_Keyer.zip (49.7 kB)

Very impressive work by all involved. I was going to make an example for the chroma key as a way of demonstrating what Karistoph mentions above, of making passes that can be re-combined further down the chain, a la Nuke or Smoke, the ā€œRGBAā€ plugin already handles it.

The final render shows text sandwiched between the original image and a choma-keyed foreground. Chroma keyer doesnā€™t have a matte output option so you can just use the alpha from there (to do this properly I suggest a decent noise free camera and better lighting control than a window blind).

I also came across a bug that meant putting the render window into fullsceen and back to normal again did strange things to all the enumerators. I havenā€™t got a second screen with me to test this on at the moment.

And FX for image analysis will still be a bit slow (Freeframe), which prompts the texture datatype question hinted earlier for plug-in writersā€¦https://discourse.vvvv.org/t/6849

H

Just tested V3. Awesome work and effects! displacement example reminds me of a bathroom door.

I think an RGBA Split, a CombineChannels which implements (most of) the blend modes I linked to earlier (with code), and an RGBA Join, and some routing/combining between the channels, are enough that Karistouf can do what he imagines.

A question performance-wise: Is it really good/necessary that each of the effects have their own 1 or 2 renderers? Is it better/possible to chain them in a more immediate way, i.e. without at least one renderer/dx9texture group in between each if you chain them? Isnā€™t this a huge performance loss? Maybe if we put them all in one huge shader and make passes as desired?
(Disclaimer: Iā€™m a shader noob)
The trainer patch as downloaded runs at 30fps on my laptop. :-(

Naming scheme looking good. Only, as written before, I would keep ā€œgeneralā€ names, and put implementations into a mode pin (like in ConvertColour) - i.e. not ā€œFastBlurā€, but just ā€œBlurā€ with a mode pin switching techniques, if implemented, e.g. Fast, Gaussian, Wind, whatever.

Afaik, thatā€™s not possible.

Multiple shader passes cannot use the output of the previous pass as input. So you have to render to texture first.

Of course, I donā€™t know the inner workings of vvvv, so I donā€™t know if there could be a more efficient way for rendering to texture by coding a new node, instead of using renderer connected to DX9Texture.


Wow, whatā€™s been happening here the last 2 days is simply amazing. Seems like Karistoufā€™s got the whole vvvv community working for him :)

hi ft, well ā€¦ i owe the community a mega bunch of beer !
But surely its more the fact that we agree everybody on this need !

Ok, I have done some playing tonight on a simple BW photo.

Encountered from time to time troubles:

  • of decompression or rendering, as the photo was in low def, wich is not really the case ( should we do preformated .dds ?)
  • changing color result when opening the patch again.

I suppose something is wrong around the RGBA splitter, WICH IS -despite this little bug- MORE than GREAT !!!

What i have seen from this little play around, is that definitively little strong shaders are far more powerfull chained like this than big heavy ones with many techniques precompiled. Those little units are very powerful ( merci unc !) and allow user to have very personnal approaches.

@hadasi: seen a mask.fx on your snapshot ;-) could be great to see it inside the collection ! ;-)

@bilderbuchi: yes the blend collection is nice. Perhaps it would be interesting, for troubles about compilation ( when heavy patch) to keep a light ( up to 6 modes ?) and an advanced version ( the complete techniques)

@unc and everybody: i noticed by looking in my vvvv archives ( shaders downloaded since 4 years) that many many shaders are existing. Taken each one solo or apart, there are many good things, but using 2/3/4 together they slow down everything. Definitively the little shader and uncā€™s code power do really the difference.

About Mixers, Kalle has done VERY interresting shader ( TexControlFade and TextControlBlur) that should be certainly part of the Texture package, because they open real possibilities to do things in many many way. Unfortunately the blur one is ressource killer !
I upload them here, if someone has desire to run inside of it ;-)

marilyn.zip (76.8 kB)
TexCtrlBlurAdv.zip (51.4 kB)
TexCtrlFade.zip (103.4 kB)

there is something terribly wrong with your shaders peopleā€¦
I better rewrite those myself

btw noticed a stupid mistake in my modules - texture format wasnt specified, so alphachannel was broken everywhere

could we have pls. smth like mask feather and mask expansion pins

here the nightly pack.

includes eles rgbajoin which seems to have a problem thoughā€¦didnā€™t find it at first glance but the joined texture looks darker, see?

also includes a renderer module. for me around 400fps when started as isā€¦

@bilderbuchi: i donā€™t see a more performant/convenient way to do this.

@unc: what about renaming FastBlur to Blur with additional options in an enum? would that make sense?

@all: keep em comingā€¦

TextureFX_04.zip (52.0 kB)

Wow this is a great community push. good work everyone. :)

Most of this list seem relevant in some way, collected from the legacy user shaders list.

But shouldnā€™t be we logging in this collection who contributed to what so we can acknowledge everyones hard work and open sharing to this point? Cos Iā€™m sure everyone massively appreciates this work by the community and itā€™s nice to acknowledge that.

Negative.fx
by @kalle))and ((user:ArsRobota

Brick
ChromaKey
by @Digital Slaves

False Colour
by @catweasel

Clampfade
SiftHSV
by @kalle

TexCtrlInvert.fx
Technicolor.zip
TexCtrlInvert.fx
by @Desaxismundi

Negative.fx
by @kalle)) and ((user:ArsRobota

Background Substraction.fx
AlphaVideo.fx
by @frank

ShiftHSV.fx
-BG+Key.fx
by @kalle

Emboss.fx
LumaKey
Stranger
by ((user:tonfilm)

Anaglyph.fx
BackgroundSuppression.fx
by @marc_s

RectMask.fx
by @woei

Levels.fx
Hue_Saturation.fx
Blend.fx
by @mtallen

PolarCoordinates.fx
by @mtallen)) improved by ((user:dep

HalfTone
by @sanch)) and ((user:gregsn

GaussianBlur.fx
RadialBlur
Bloom
Spot
by @sanch

What about transitions in this texture pack?

Transition Pack#1
by @Digital Slaves

Transitions_basic.fx
by @Desaxismundi

TexCtrlFade.fx
by @kalle

One for the Texture generator

Gradients.fx
by @Ernst Hot

yep, renaming fastblur to blur is fine
as for its additional options - I simply dont know how to create enums :P atleast in beta23, dunno.
And I am NOT upgrading to beta25 - tried this yesterday, ended up with a ā€œfffuuuuā€, sorryā€¦ So Iā€™ll keep atleast my texturefx modules beta23-compatible

@ unc: woaw.i think its a real good to take them compatible to 23 until code editor is fixed.

@joreg : will there be in next release a texture input possibility in dynamic plug ins?

to the xd_nitro LIST
dont know if 2D shadow would be possible?
kind of Dynamic Drop Shadow by tonfilm
dynamic-drop-shadow

one more basic block for image processing tasks, morphology. this one lets you choose a custom kernel for any convolution tasks (dilate, erode and the like).

does anyone here have a gfxcard without shader 3.0 support?

@karistouf
ā€œmm parameter in perlinā€ you mean mipmap count? It is the same as in DX9Texture node, I just duplicated its parameters

@unc I remember at node08 being told that if you can use lower shaded models you should not just for backwards compatibility but performancewise they use less gpu, I think, but joreg would know more ;)

Guys, what you are doing is amazing! Its exactly what I was looking for over the last months! Thank you very much. Hope I will find the time to test the stuff and give feedback and ideas on more plugins.

@catweasel
Well, I was told exactly the opposite=) dont remember where tho
I heard that it is best to stick to one single shader modelā€¦ So if we are aiming mostly shaders 2.0 (quite old gpuā€™s), then it is ok
but I seriously doubt that someone will try to use such tool as vvvv on that old hardware, and expect anything good out of itā€¦
I am more concerned about float-textures and mipmapsā€¦ my old geforce 7950gx2 was pretty good on ps3.0 performance, but had no support for filtering floating-point-textures

@unc: i have a little laptop with PS2 only, on cheap GMA graphic card. How may i help exactly ?

mipmap count: what is exactly its function ( don t see any result when changing it ).

btw: is that your car ? ;_)

More generally, to all :

Would be great to try to figure out other little versatile shaders on one hand, and on the other hand talk about complex built shaders.

About convolutions: this would be great to have such a set also, with very little performance consumption nodes, and pure power ā€œala MrUncā€.