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

Rendering overview


Basic structure

In most situations when you render something you have basically the same patch structure:

  1. some primitives (like the Quad (DX9) ) or meshes with their effects (like the Sphere (EX9.Geometry) and PhongDirectional (EX9.Effect) )
  2. are placed using the Transformation nodes (like the Translate (Transform) or UniformScale (Transform) )
  3. grouped together
  4. and rendered to a window.

Working with a 3d scene? You need a Depthbuffer.

Seeing jagged and ugly edges? Turn on Antialiasing.

Want to set a renderer to fullscreen?

  • move it to the desired monitor
  • change its Fullscreen Dimensions using the Inspektor
  • press ALT+Enter to toggle it to/from fullscreen

See the Renderer (EX9)'s helppatch for details.

Examples in your vvvv\girlpower\ directory:

  • Graphics\DX9\Geometry
  • Graphics\DX9\Shader

See also:


The same scene but rendered from another point of view. Note the Camera (Transform Softimage) connected to the Renderer.

There are some cameras in vvvv ready to use:
Check their helppatches.

See also:


And now the objects are spreaded.
There are 12 spheres whose spreaded in a circle by the CircularSpread (Spreads).
And 16 quads arranged in a line by the LinearSpread (Spreads).

See also:

Aspect Ratio

The Aspect Ratio transformation on the Renderer (hidden by default) is used to sqeeze/stretch the coordinate system of the renderer so that the proportions of the window have no effect on the image.

The coordinate system of the Renderer is stretched vertically as a countermeasure to its horizontally stretched window.

Check the helppatch of the AspectRatio (Transform).

See also:


An image is applied to the effect via its Texture. Primitives like Quad (DX9) have the 'Texture' pin as well.

See also:


Related nodes

Renderer (EX9)
ZWriteEnable (EX9.RenderState)
AlphaTest (EX9.Renderstate)
Cull (EX9.Renderstate)

A Depthbuffer stores the depth information of the scene, ie. a single z-value per pixel.

If depth buffering is off (which is the default) objects (and their faces) are just drawn in the order of their priority and their slice index - which looks weird as soon as they are seen in the wrong order.

Turn on depth buffering by selecting the Renderer (EX9) in an Inspektor. There you'll see a "Windowed Depthbuffer" and a "Fullscreen Depthbuffer" pin. Change their default "None" values to D16, D24 (or similar, where 16 or 24 denote the number of bits available for the depth buffer). Typically choose D24X8.

The classic name for drawing without the depth-buffer is painters algorithm: start with the things in the background and then paint all things after another on top of it.

Using the depthbuffer enables a test which is done for each pixel drawn: if a pixel nearer to the camera was already drawn, the new pixel gets rejected. Or to put it the other way round: If the current object to be drawn is nearer to the camera than the stuff already drawn, the object is just drawn on top of the existing color buffer.

See also:


Antialiasing at Mathworld
Antialiasing at Wikipedia

Rotated or curved objects always look jagged if Antialiasing is turned off (which is the default). That's because pixels are squares and there are (still) not so many of them to represent curves or diagonals in a way that the eye will not notice squares.

Use the 'Fullscreen / Windowed Antialiasing Quality' settings of the Renderer (DX9) to specify the desired quality. Usually a value of 4 is a good choice.

This setting is available via Inspektor.

anonymous user login


~9h ago

joreg: @barbarerik maybe this one helps: vvvv-beta\girlpower\VL\Curves\SplineTree

~1d ago

barbarerik: Can somebody point me to example how to Bezier in Gamma? some example of how to connect nodes. Thanks

~1d ago

karistouf: @joreg, thank you

~1d ago

joreg: @karistouf there are no freeframes in x64 but you can use Contours via VL.OpenCV in VL!

~1d ago

karistouf: is there any contour.dll (FreeFrame) in x64 ? thank you

~3d ago

joreg: @qoupas i'm afraid this is a rather unspecific question. please start a forum thread with more details so we can help you.

~4d ago

qoupas: Hi, which nodes to use to parse real time data from a webpage ?

~9d ago

joreg: Happy and new, the #vvvv gamma 2021.4.4 release is out now: https://thegraybook.vvvv.org/changelog/2021.4.html

~19d ago

skyliner: happy new year evvvveryone!