YASPs: 6: links page 1 |layer5c bugfix & demo- page 4

WOW my seq plugin folder is gonna burst!! thanks for these, good work.

Strange hu, no new seq plugins for a long time, then loads appear, ya know my head is really spinning with all the great new stuff in Blender, I must remember to go outside one day :smiley:

Ken

PS:
Would you be any good at texture plugins, im’e not sure which would be usefull, but I am sure people would let you know. ( ohhhh the cheek of im ) :o :smiley:

Hi paprmh,great work as always,thank.
I agree with you,some mode are really redundant,the ones in your plugin
are all that I need to composite.
Bye

@kencanvey- I have never tried to do a tex plugin… up till now I have had my hands full just seeing if I can code something worthwhile with seq plugins… :-? I’m glad you like these though.

[edit] minor bugfix…now version 2.2 [/edit]
@renderdemon- here ya go: layer2 =( layer 1.2 + :Z)
http://webpages.charter.net/paprmh/sys/layer2.2.c
http://webpages.charter.net/paprmh/sys/layer2.2.dll

ok… I went button crazy once again %|
many of the buttons names are now dynamic… they change with your settings
now all but [show mask] of the toggle buttons are tog3… if they are yellow, the alpha channel is also processed…if not, just the rgb channels are involved and output alpha= strip 1 alpha…

you can invert all 3 strips (if present)
you can use the mask in any blend mode

try it out and let me know what you think…

i wonder if anyone got that joke…

Hi paprmh, i have tested a few your new layer plugin with a recent build,using scene strip and image strip(generated from blender itself).
The masking seems to work very good with a grayscale strip,with a color strip I have to understand better what happens(I think that the strip should be converted in grayscale but at a first look it seems something different,not truly a problem because I always use grayscale images).
I appreciate very much the possibility to invert the strip and the alpha of the strip,it could be even more useful if the control are separated from the 2 strip like for the mask(inverting the alpha but not the colors of the strips,and viceversa),but for this I think you could be mad for the buttons and the GUi.
About the alpha,for now I’m not been able to make it work,for me the results are always the same with alpha checked(yellow)or unchecked,maybe I’m dooing something wrong,i’ll try to test more deep.
Generally speaking in MHO the 2 strip should be composited(when there is a third strip) utilizing the luminance value of the mask or the alpha value of it,for now I can’t understand what your alpha mode do,maybe it done something different.
Apart of this,with your plugin compositing the strips is very easy and in combination with other plugin(for generating a grayscale image from the alpha of a strip) I can do all I need,thank you very much.
Bye

yes, sorry, I wasn’t very clear about the way I set it up…

if the mode button is yellow, the alpha channels of 1 & 2 are blended just like the rgb channels, if it’s white, the alpha channel of 1 is used.

if the inv buttons are yellow, the alpha channel is inverted too, if not, the alpha channel is unchanged

the mask actually acts like a selective opacity control (actually it’s almost identical code…)
If the mask ==1(pix value 0-1) the blended pixel is output
If the mask==0 strip 1 is output.

The way I set it up was to have the plugin process each channel separately with the corresponding channel value of the mask. If the mask is greyscale, all channels are equal and the mask operation will be like you are used to. If you choose to use a color mask, each channel will have a different opacity. I really don’t know if it is useful( I think it has possibilties ) but it sure can be interesting %|

BTW: the opacity control acts after the mask so if you turn the opacity down it will have the same effect as darkening the mask

hope that helps

BTW2: would it be useful to have the ability to tie the opacity control to an ipo?

[edit] ipo control for opacity added- above links changed to layer2.1…not worth bumping thread though[/edit]

Yes paprmh,it’s make more sense now,I understand better what happens.When the mask isn’t grayscale the way you make process it is interesting,something new here(at least for me),cool.
About ipo for opacity,yes,for animations could be useful,if it’s not hard work for you,you have yet done a great work.

[shameless plug(in)]
If you were to use my chromakey-hsv plugin on the image that you want to make a mask, you have several possibilities:

if you want to make a lumanence mask just select show 8

if you want to make a value mask select show 4

if you want an alpha mask, it takes a bit more…
select an ungodly color that isn’t in your image
set h,s,v tol values to 0
toggle mask on
select show 1

that’s not as easy as using alphamatte but the advantage is that with all 3 methods, you can soften the edges of the mask with the edge blur buttons :wink:
[/shameless plug(in)]

If you are interested in algorithms for image processing, have a look at this site as well,

http://www.ph.tn.tudelft.nl/Courses/FIP/noframes/fip.html

and

http://www.efg2.com/Lab/Library/ImageProcessing/Algorithms.htm

LetterRip

Major update of the layer plugin…layer3!

opacity can be controled by ipo

I got rid of the dynamic names for the buttons… it was buggy

now you can make a greyscale mask from data in the third strip…from a to z [!] :wink: LITERALLY… all the way from alpha, through r,g,b, h,s,v, y,u,v…and Zbuf 8) (of course strip3 must have a zbuffer…)

if you only add 1 or 2 strips to this plugin it will still act as if there are copys in the last strips…this can come in handy if you just want to generate a mask without having to load three strips

[edit]
I should make this a bit more clear…
A plugin gets 3 pointers to images…
if you only load one strip, all three pointers are at strip 1
if you load two strips, the strip 3 pointer is to strip 2
(this means that the plugin will act like you loaded 3 identical strips into it if you only load 1…etc…)

and btw @ LetterRip: I have had the efg lab pages bookmarked since I started on chromakey-hsv and I have always checked out all of the links that you have posted for me…unfortunately most of the links lead to some esoteric math hyroglyph :-? if a formula has a symbol that isn’t on my keyboard, I am scrWUed ( yeah, I know, bad joke…) I actually figured out how gaussian blur works by digesting the c code - not by the theory stuff…
[edit]

Anyway, here is the source and a dll:
http://webpages.charter.net/paprmh/sys/layer3.c
http://webpages.charter.net/paprmh/sys/layer3.dll

Great work paprmh,with your layer plugin compositing it’s very easy.with the ipo control for opacity and the possibility to make grayscale mask it’s now seems perfect to me,the only thing that you could do is adding the other modes(mul,sub,add)already present in Blender,for completeness.
Thank you
Bye

This one is just for windows users 8)

Are you tired of not having a blur plugin that you can use?

Now there is g-blur just for you:
http://webpages.charter.net/paprmh/sys/g-blur1.1.c
http://webpages.charter.net/paprmh/sys/g-blur1.1.dll
This plugin makes a filter based on a gaussian curve
…you can set the kernal size manually (choose speed vs accuracy)
…you can separate horiz and vert blur
…you can use ipo to factor the blur or radius

tip: If you want a good gaussian blur, the radius should be at least 4 times the blur value

If you toggle optimise on, the radius setting is the max radius and small blurs will have the kernal automatically clipped to the minimum size to produce the best quality blur.

If you want an automatic best gaussian blur, just put the radius at 50 and hit optimise…(hit verbose and just watch how fast the radius and kernal sizes grow…and you need to know that: LARGE radius blurs are SLOW

http://webpages.charter.net/paprmh/sys/gbn.pnghttp://webpages.charter.net/paprmh/sys/gbmin.png

http://webpages.charter.net/paprmh/sys/gbznorm.pnghttp://webpages.charter.net/paprmh/sys/gbzmin.png

http://webpages.charter.net/paprmh/sys/gbopb1.pnghttp://webpages.charter.net/paprmh/sys/gbopb2.png

http://webpages.charter.net/paprmh/sys/gbopb3.pnghttp://webpages.charter.net/paprmh/sys/gbopb50.png

http://webpages.charter.net/paprmh/sys/gbhopb50.pnghttp://webpages.charter.net/paprmh/sys/gbvopb50.png

http://webpages.charter.net/paprmh/sys/gbh4v1.png

manual control of the radius can be useful in several different ways:
…1) if you lower the radius, the gaussian curve is clipped to become more of a weighted blur…lower it even more and it becomes a mean blur

http://webpages.charter.net/paprmh/sys/gbw2.5.pnghttp://webpages.charter.net/paprmh/sys/gbm10.5.png

…2) LARGE radius blurs are SLOW if you lower the radius, you can really speed up the plugin- often without noticable artifacts.

http://webpages.charter.net/paprmh/sys/gbopb50.pnghttp://webpages.charter.net/paprmh/sys/gb10.35.png

If you toggle verbose, the plugin information is printed to the console… including the filter values. This means that you can see what the kernal looks like and if it is bigger than you really need…and you know what that means… LARGE radius blurs are SLOW

Hi paprmh,finally we have a good blur plugin,as always great work.
I have to ask you a thing,it’s possible to modify the plug in to make it selective(controlling the blur amount or radius(better the radius I think) through a greyscale image?
I’m tryng to use the deepblur plugin by skecthy for faking subsurface scattering(I first make a shadow map pass that I blur and second I screen the result on the top of a material(with your layer plugin)),it’s work very well but it’s not usable at high resolution(for still) because the limited maximun radius, a bit to little to what I’m planning.
Bye

hi renderdemon, Thank you for your feedback and suggestions… I think that these plugins wouldn’t be nearly as functional without your help. I just wish I could get more c&c from other users… %|

Since you seem to be the only person I need to please, I went back into layer3 and added “add, subtract, and multiply” to the blending modes like you asked…Then I went button crazy again and I crammed g-blur in there too :wink: Now you can either blur strip2 or strip3 (or both)

[edit]
12/12/05…mask & alpha inversion bugfixes
12/15/05…mask blur bug fixed
[/edit]

download the latest version from the first post

I am not sure if that will do what you want but I think it will…

What we really need is a good z-blur. Your Blur plug actually works with the unified renderer and that’s a great thing. Not too sure the plug are going to get used more than once in a while though. Z-Blur, however, would be extremely useful. Especially one that works with the unified renderer and had all the setting that your Blur plug does.

Let’s see. Auto focus, fish-eye, Blur type (gausian etc.) settings, selective un-select to focus selected objects whether or not they are in the distance, manual focus, literal distance settings instead of arbitrary ipo mathematical calculations for number crunchers that seem to like that kind of thing, z-depth output for post pro.

I’m sure there are other options I’m missing but if you want a truly useful plug, there your are. :slight_smile: We could use it.

paprmh

Hey I was just going to mention Zblur, any possability on you doing this, you seem to be the Plugin king!! :smiley: .

I was wondering if it would be possible to do a plugin that gives interference of different types, you know for bad video links in space, no signal snow etc

Your plugins so far are really usefull thanks for all the hard work.

Ken

Hi paprmh,in my opinion your layer plugin is perfect,I think that should be included directly in Blender,it’s a tool really important for compositing and layering materials,without it the thing gets to complex to be seriously done,but it’s only my opinion…
I have tested your gblur(in the layer plugin) and work very good,it’s fast and the masking it’s really useful for other stuff,but it’s not what I need now,because(obviously )in the blurring process it take into account the pixel outside the mask,ideally the radius of the filter should change(increase or decrease)based on a grayscale image,where the pixel is white the radius is our value(let’s say 20),where the mask is black the radius should be very small,and blends the inbetweens(from a programming point of view I don’t know which is the best way to do it).
Like a Zblur,but with the possibility to use an arbitrary grayscale image(not always the depth from the camera),in my case is the depth from the lights which is used to blur the incoming illumination on an object.
In my opininon a generic blur capable of masking(like you have yet done)
and changing the blur radius(like the one made by skecthy,which is good but a bit slow and limited in the size of the radius)is much better that a Z-blur(that could only take depth from the zbuffer of the program),because is less limited in the way that could be used by the users.
P.S
Thank you to take into considerations my opinions,if you find them useful,well,good!
Bye

Marty_D: All seq plugins work with any renderer…its post pro…And that is what these plugins are all about. And, I think that once people learn more about the seq editor, these plugins will be used alot…see rant below

Kencavy: heh,…king?.. naw… plugin joker would be more like it …but thanks.
In the plugin repository there are 3 plugins for interference of different types: old movie, robocop, and videopatterns…maybe one of those could do what you want…

renderdemon: I am looking into implementing a variable blur- it could be useful in several different ways…I have also been trying to figure out how to control the second ipo that is available to seq plugins…google and irc have been no help as of yet…

Most users don’t realize how much power and speed the seq editor has and more importantly, how much they could speed up their workflow by using it. These last 4 plugins are meant to give users more of the options available in image editors… It is possible to do quite a bit of your simple post processing tasks without sending it to gimp or photoshop. Of course, for an animation, the seq editor is actually better imho…instant feedback as you set it up and then automatic batch processing.

It also works great as an image/codec converter(if there isn’t sound in the video…) - in fact there was a thread recently about all of these different image programs and convoluted ways that people were using to convert a png to a targa format when they could have done it in 15 sec without leaving blender…

As for zblur…I have thought about doing something different about that ever since I did zutilz… Up till recently I didn’t have the capabilty to code it( I’ve been learning as I go…) And now i figured that with the mubroth and sketchy versions out there, it really was not needed.

Speaking of zutilz, It has the capability to insert a full zbuf into a image…just so you could use the origional zbur on a prerendered image.

Yes, well, unfortunately the only real option at the moment for DOF is the zblur.dll plug here which, in fact, does not work with the Unified renderer. Noted here in Macow’s tutorial thread.

There was a DOF option in the CVS code for about a half a minute a while back, but it was decided to place the effect in post process and was put on the back burner. Probably not forgotten but certainly not a priority.

And you’re right about the beauty of the sequencer. A lot easier to have the algorithm applied at the time of render.

my apologys, MartyD, I didn’t know about that…I checked it out with zutilz and it appears that the unified renderer does not return a zbuffer for some strange reason…there is one workaround though, the same as for using zblur on a pre saved image:

1)take your unified render scene and duplicate it- link objects only- name it z (or whatever)

2)in z, turn off unified render as well as all fancy render options ( ray, ao, aa, ztransp for materials that you want to see in the zbuffer, etc…) ->all you want this scene for is the zbuffer so you might as well speed up the rendertime

3)go to the seq editor and load your scene(or load an image) and z on top of each other

4)select your scene, sh-select z, add zutilz
…look at the console to see if you have the strips in the right order - then just toggle [use ibuf2] &[output zbuf]

5)now just add zblur to zutilz- zblur detects the zbuffer and works

BTW: literal distance settings for the zbuffer values would be pretty difficult…the zbuffer is not linear and its not tied to the scene itself, it’s some sort of progressive curve between the camera’s clipstart and clipend.
for instance (clipstart & clipend 100 blender units apart):
2 planes 1 blender unit apart near clipstart (Z)… .000525-> .100506 = .099981 apart
***note: the first unit (1% of distance) uses 10% of the zbuffer!
2 planes 1 blender unit apart at 50 (Z)… .880048-> .884346=.004298 apart
***note:50% from start and zvalue is 88%
2 planes 1 blender unit apart near clipend (Z)… .989926-> .991013=.001087 apart

Hey paprmh, Layer5 looks very useful and it’s work fast and stable so far.
I just want to say Thanks for giving these great additions to blender. This is a “must have” for every video editing tool.