» EX9.Effect.Node
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

EX9.Effect.Node

French | Italian | Spanish

Creating an Effect

There are different ways to create effect nodes in vvvv. You can simply instantiate any of the effects that ship with vvvv by selecting them in the nodelist from the EX9.Effect category.

You can also dragdrop any effect file (with the extension .fx) onto a patch or from the menu select Open in Patch and select an effect file.

If you want to create an all new effect it is best to start from a simple template, that has the basic structure already laid out. The Template (EX9.Effect) node is what you're looking for. In the NodeBrowser look for this node but instead of simply creating it, clone it via CTRL+Enter or CTRL+Click. Give it a new unique name and vvvv will make a copy of the template you can now start from.

Pins

Looking at effect nodes you'll see a few pins all of them have in common:

Inputs

  • Render State: here you can connect any of the nodes from the EX9.RenderState category
  • Mesh: connect a mesh (geometry) to be rendered with the given effect.
  • Transform: here you connect the world transformation for the mesh
  • Technique: an enumeration of all the techniques in the effect
  • Technique Pass: here you specify the passes to be rendered. ut in a spread of values, the effect node will then render the given passes in the order of the spread. To render all passes of a technique, set the passes pin to -1 (default value).
  • Enabled: switch the rendering on and off. works slicewise!

Outputs

  • Layer: connect this to a renderer
  • Compiled: boolean telling you if the effect is compiled
  • Technique Valid: spread of booleans telling you if the individual techniques are valid on your gpu
  • Description: a summary of the effects innards.

The Pins representing the parameters in the effect are added according to the effect code. Note that vvvv can not interpret the structure of the effect as long as there are errors in the code and compilation fails.

Spreading Effects

todo: mesh subsets, arrays

Editing the effect code

To edit the code, rightclick the effect node and an editor window will pop up.

In the main text view you can directly edit the code. Simply start typing to be assisted with a codecompletion window that also includes a listing of all HLSL intrinsic functions. Press Ctrl+S to save and compile the effect.

If there are errors compiling the effect, they will be displayed in the lower part of the editor window. You can doubleclick any of the errors to jump to the line that contains the error.

Note: if you have several effect nodes of one Effect File open at a time, changing the code of one instance will automatically change the code of all effect nodes of that effect file, which is just the same behaviour as with patches.

anonymous user login

Shoutbox

~2d ago

joreg: Two #vvvv workshops this week in #berlin: Friday: Physical Computing, Saturday: Computer Vision. Tickets: upcoming-full-day-vvvv-gamma-workshops-in-berlin

~3d ago

joreg: @cznickesz also feel free to join our chat for such questions: chat

~3d ago

cznickesz: @joreg: Yeah, I´ll give it a try! Thx

~3d ago

joreg: @cznickesz: we're hoping this week. but depends on feedback. please test your project and let us know if it works.

~3d ago

cznickesz: @joreg: I should stop asking my questions so cryptic ;-) So right away: is final Beta39 hours, days or weeks away?

~3d ago

joreg: @cznickesz: the idea of an RC is exactly to make sure your projects will work with it. your last chance to report problems with b39.

~3d ago

cznickesz: So how "RC" is the "RC3"? I have to update an old project soon and I´m wondering if I should wait and directly update to Beta39

~3d ago

joreg: @takuma, the "one frame" issue was fixed in RC3 for beta39, see: beta39-release-candidate

~3d ago

Takuma: @joreg thank!! Ill try this. Are there a way to send video texture from vvvv to vl? fromimage node in vl somehow only sends 1 frame

~3d ago

cznickesz: @ravasquez thx, so I need to stop avoiding nuget in the end ;-)