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

Rendering overview

Japanese

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:

Cameras

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:

Spreading

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:

Texturing

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

See also:

Depthbuffer

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

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

Shoutbox

~1h ago

joreg: Please help yourself to the latest #vvvv gamma 2020.2: vvvv-gamma-2020.2-release

~3d ago

nodeforum: E-mail invitations for NODE20’s Festival Hub have been sent out yesterday. In case of trouble let us know via help@nodeforum.org

~5d ago

david: @neuston: email is going out very soon!!!

~5d ago

neuston: @sunep Thx, but I have checked the spam folder but could not fine any

~5d ago

sunep: @neustron have you checked your spam folder? Mine went to spam.

~5d ago

neuston: I've not received any activation email for Talque, after purchased tickets of NODE20 last week. Is it normal? just want to confirm.

~5d ago

boplbopl: @tonfilm nice!

~5d ago

tonfilm: The first #vl #stride screenshots are here! vl.stride-earlyaccess-screenshots #visualprogramming #dotnet @stride3d #creativecoding #vvvv #gamedev

~6d ago

udo2013: @systray27 thank you :)

~7d ago

systray27: @Udo2013> Wow that's beautiful!