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

Blog

new post

Blog-posts are sorted by the tags you see below. You can filter the listing by checking/unchecking individual tags. Doubleclick or Shift-click a tag to see only its entries. For more informations see: About the Blog.

  reset tags

addon-release core-release date devvvv gallery news screenshot stuff
delicious flickr vimeo
Order by post date popularity

Just in time!

Only a whopping 6 years and one and an half months after its first mention during Keynode 13 and to the day exactly 5 years after the release of the The Humble Quad Bundle, you can finally hold it in your own hands. Not exactly as the full release we had planned but as a preview:

Her majesty... at your service.

To our own surpise we couldn't finish all the things we had planned to release today. Most notably the "windows executable export" didn't make it. We know this is a bummer, but we want to get this right and it just needs some more time.

Apart from that we figured there is no more need at this point, to keep it to ourselves. It is definitely good enough for a preview, definitely good enough to gather some feedback to incorporate into the final 1.0 release for which we take some more time to finish our plans. So let's have a look at what we got:

What's new compared to the vvvv beta series

General

  • Trivial installation via an installer
  • The overall performance is much improved
  • All your work is automatically backuped
  • A help browser: press F1! (and wait for it...)
  • You have quick access to your recent sketches
  • By default projects are now handled in one file
  • There are central settings per user, overridable per project
  • You can pause and step your patches frame by frame
  • Extensibility: Write plain C# to extend vvvv with custom nodes
  • Simply use almost any .NET library available e.g. on nuget.org
  • Proper scope and dependency handling
  • Structured documentation for your patches. Add summary, remarks, help to elements
  • close to .NET use msdn, stackoverflow help

Patching

  • Patches are now zoomable
  • You can use frames to structure your patches visually
  • UI runs in its own thread
  • Tooltips show help and errors
  • IOBoxes allow for much faster configuration
  • You can doubleclick a link to insert a node or finish a link with a doubleclick to create a node
  • Patch your own pingroups
  • The color theme is now customizable and defaults to dark

Language

Besides staying true to its nature of being a an easy to use and quick prototyping environment, vvvv is also a proper programming language with modern features, combining concepts of dataflow and object oriented programming:

  • Define your own datatypes (Classes and Records)
  • Composed Datatypes (Spread of Spread,..)
  • No more binsizes needed!1!!
  • Loops to iterate within one frame
  • Generics
  • Delegates
  • Reactive programming
  • Async data processing (multi-threading)
  • Easy caching of expensive operations

Node Library

While for now the number of libraries we ship is limited, the fact that you can essentially use any .NET libary directly mitigates this problem at least a bit. Besides there is already quite some user contributions available in the wip forum and here is what we ship:

  • A thorough core library for all your basic needs
  • State of the art 2d drawing with VL.Skia
  • Effortless computervision via VL.OpenCV
  • Support for Midi, OSC, ArtNet, Serial,...

Forum

To accommodate for the fact that from now on we essentially have 2 products, we added two main categories to the forum:

Living together in harmony: beta and gamma

The existing question, feature, bug, general sections were moved into vvvv beta, and the vvvv gamma section got its own question, feature, bug and general sub-sections. Note that by default the search is constrained to the category you're currently viewing. When you're using vl in beta, still feel free to ask questions in the beta forum. We'll handle that.

Tutorials

Head over to this forum section to watch some video tutorials:https://discourse.vvvv.org/c/tutorials

Pricing

We've previously announced the upcoming pricing model for vvvv gamma, which we're currently refining and we'll update you on changes to it soon.

Until further notice, the previews of vvvv gamma are free of charge but due to its preview-nature we don't recommend using it in commercial scenarios yet.

Download

Here you go: vvvv gamma 2019.1 preview 959

Changelog:

959 19 11 19

  • equals version included with beta39

930 02 11 19

  • fixed annoyance with nodes being selected instead of draged
  • fixed problem with red nodes not updating after installing VL. nugets
  • fixed time step calculation of Damper (Fast)

923: 31 10 19

  • added ToVector2/3/4 (Float32)
  • fixed Tokenizer (Frame)
  • fixed register services method called too early
  • fixed regression that timings wouldn't show up on regions
  • fixed timings not working on Cache region
  • fixed serializer not dealing with fields of type object correctly
  • fixed serializer crashing with a stack overflow when data like vectors or colors stored in an object field were re-interpreted as arrays
  • fixed IL emitter not picking up type dependencies on fields if the type was a generic type instance (https://discourse.vvvv.org/t/weird-reference-documents-behavior/17949)
  • added Random implementation for RGBA
  • fixed hue calculation and minor improvements in color space conversions
  • added String <-> Array<Char> conversions
  • shutdown dialog now lists unsaved documents
  • installer adds windows defender exceptions

827: 09 10 19

  • setup.exe is now signed and shouldn't trigger "windows protected your PC popup anymore"
  • added Quad>Windows>Key/MouseDisplay
  • fixed GrayScale Skia ColorFilter
  • added Damper/Oscillator 2D, 3D
  • Packages are now in AppData\Local\vvvv\nugets

703: 16 09 19

  • tooltip performance improved
  • ImageReader now returns correct format of images
  • added FromBytes (SKImage)
  • added Resize (SKImage)
  • LinearSpread now has Phase input
  • added midi ProgramChange node

667: 03 09 19

  • added IsEven/IsOdd nodes
  • added Morph node
  • added MultiFlipFlop node
  • added ConnectAll node
  • added CounterFlop
  • added Random (Centered)
  • added Sort (FormerIndex)
  • added OrderBy (FormerIndex)
  • added IndexOf (KeySelector)
  • added Search
  • added Search (KeySelector)
  • added Resample nodes (Point, Linear, Repeat, Hermite, BSpline)
  • Switch node can now have more than 2 inputs
  • Filter node now has TweenerMode exposed
  • Nodebrowser now also looks for tags in nugets
  • FromImage (Skia) now has options for the case of R16->R8
  • FromImage (Skia) now handles 24->32bit conversions
  • ADSRSettings has optional inputs for Attack, Decay and Release curve settings
  • ADSR has an input to set a new clock at any moment
  • fixed AddRange (Array) of SpreadBuilder
  • updated VL.OpenCV to 0.2.129-alpha

618: 22 08 19

  • SVG/PDFWriter now deal with background correctly
  • improved some warnings
  • increased max tooltip height

615: 21 08 19

  • more tweaks for tooltips
  • Ctrl+F now also considers nodes category
  • updated to VL.OpenCV 0.2.122

573: 08 08 19

  • pin tooltips now show their infos again when available
  • copying messages from tooltips is now via ctrl+shift+c
  • added simpler Mouse and Keyboard (Skia.IO) nodes
  • skia primitives (rect, circle,...) now come in two versions, instead of as overloads
  • updated to VL.OpenCV 0.2.121

552: 01 08 19

  • reworked tooltips
  • new settings: MouseMiddleButtonOpens to activate middleclick to open patches of nodes
  • addded node: FromImage (MutableArray)
  • added skia ColorFilter nodes: Transform, Brightness, Contrast, Grayscale, LUT

411: 12 06 19

  • Value to bytes nodes now have defaults
  • Fixed somehow newly introduced crash in patches making use of serialization (like Tilda) or reflection API (like the runtime-model-editor demos)
  • Fixed accumulators on loops being auto-disposed causing object disposed exceptions in more complex patches (ike Tilda)
  • Fixed Sampler (Reactive) getting stuck in an endless loop if upstream observable crashed (also seen in Tilda)

406: 10 06 19

  • Fixed crash when creating IOBoxes in regions while linking
  • Fixed pin highlights when linking via region border point
  • Fixed application restart with F8/F5
  • Skia gradient nodes rework

398: 05 06 19

  • fixed couple of regressions in compiler introduced between 369 and 380
  • fixed splash screen flicker
  • fixed a null exception on startup

380: 01 06 19

  • fix for Tokenizer (Frame/Postfix) with empty separators

369: 27 05 19

  • Skia PerfMeter (F2) now measures full paint time
  • fixed "Countdown" output of Trigger node
  • fixes in compiler
  • performance improvements in compiler
  • added pixel format R32G32F to imaging
  • fixed a freeze in Tokenizer
  • added Tab, CR, LF, CRLF nodes
  • added serializer for Range
  • theme and interaction improvements
  • added Skia checkerboard style that can be used as a paint
  • fixed removing .vl doc references

344: 14 05 19

  • PerfMeter in Skia renderer (F2) now shows UpdateTime and RenderTime
  • added checkerboard style that can be used as a paint for any layer
  • improved scrolling behaviour for sliders
  • CoreLib improvements
  • sped up RepellingCircles demo patch
  • several compiler fixes
  • compiler performance improvements

318: 09 05 19

  • frames now let you choose colors from a palette instead of the color chooser
  • frames now move their content along as you drag on their titlebar
  • frames now only move elements that are fully contained
  • frame is now included in the "surround with" context menu
  • press SPACE to force-include frames in selections
  • in inspektor changing precision for floateditor now also sets precision for min, max and stepsize.
  • can now grab border control points on regions properly without interfering with region resize
  • default culture setting is now invariant

303: 08 05 19

  • fixed missing dependency for VL.OpenCV

301: 07 05 19

  • windows timer is set to 1ms on start
  • mainloop uses less performance and doesn't block windows messages
  • Skia Renderer has PerfMeter build in, toggle with F2 when selected
  • fixed dpi problem with text in SymbolFinder
  • ctrl+T/ctrl+shift+T to bake/clear type annotations on datahubs
  • fixed "invalid cast in typeunification" error

287: 06 05 19

  • shortcuts now work with all tabs closed
  • Renamed action "Assign->Pop" to "Assign->Clear assignment" to make it easier to understand what the action does
  • Firmata: Tokenizer was stuck in an endless loop
  • fixed null exception in ResizeSelectedMouseHandler
  • Typewriter: Shift+PageUp/PageDown - select to the beginning/end of the document, cursor stays at the same column.
  • OverlayEditor now has minimumsize (again)
  • ImageEncoder doesn't have the bmp option anymore as skiasharp can't encode into bmp

273: 02 05 19

  • fixed another problem with editors/tooltips and high dpi settings
  • fixed "ReguarExpression" typo
  • AllAtOnceEditor for vectors now sticks to value of first component
  • fixed problem with enum-editors on pins getting stuck
  • no more duplicate "Horizontal" entry in IOBox inspektor
  • inspektor now also shows elementtype properties for Spread<Vector>
  • serialization for custom types doesn't throw errors for inspektor/defaults
  • upstream dis/connected iobox no longer looses its settings
  • added GroupBy (Length) and GroupBy (Count) nodes to split a spread into spread-of-spreads
  • added Clean node: removes slices with empty strings
  • added RepellingCircles skia demo

252: 27 04 19

  • fixed dpi handling for fonts in editors
  • can now set ApartmentState of BusyWaitTimer to make UI threads
  • mainloop now has high precision
  • added PerfMeter to VL.Skia
  • editing comment/string now keeps size of editor
  • comments now have correct initial size
  • StringEditor on pin now has wider fixed width
  • fixed problem with paddings differing between single and multiline textbox
  • fixed setting bool pin value via dragging
  • fixed interaction in signature view of patch explorer
  • fixed deadlock when implementing interfaces

230: 24 04 19

  • fix for regions inside operation definitions disappearing
  • fix for patches with more than 10 operations showing later operations as black
  • quad icon now works for all themes
  • previous/next icons now colored correctly in all themes
  • string editors/comments now have a configurable "Max Visible Characters" to prevent low performance with too long lines

222: 18 04 19

  • VL.Skia Camera 2d is not experimental anymore
  • fixed pin interaction in signature view
  • fixed an edge case when then node browser wouldn't show up
  • fixed IOBox rendering freezes
  • added many tags to VL.CoreLib to find nodes faster
  • VL.Skia is referenced by default for new documents
  • toggle toggles on every mouse click
  • IOBox values are not applied while typing anymore

200: 15 04 19

  • inputs/outputs of definitions/regions and groups can be moved (again)
  • fixed problem with documents not opening anymore
  • fixed file path serialization of dependencies when the path couldn't be made relative to the document itself
  • fixed coloring of pads and region bordercontrol points

191: 13 04 19

  • a comment that only holds a link can be right-clicked to open in the browser
  • recent sketches now show in reverse order: most recent is topmost
  • fix: improved recizing of nodes, regions and ioboxes
  • fix: input/output indicators on pins and pads are now in sync with tooltip (again)
  • fix: selected spread ioboxes can now be deleted with backspace when hovered with the mouse

180: 11 04 19

  • fixed background for definition patches
  • Skia ButtonBehaviour now lets you specify which buttons to listen to

177: 10 04 19

  • new setting DocumentAskOnFirstSave sets whether to ask for save location on first document save
  • added "Show Intro Patch" to quad menu, to recall intro patch even if it's not shown on startup
  • reactivated play/pause mode visualization
  • various coloring/theme fixes
  • active tab is underlined (again)
  • definition patches now have a hatched background
  • removed RestructureDocument from patch context menu
  • default count of a collection pin group can now be configured
  • Skia Group defaults to 2 inputs (again)

150:

  • VL.OpenCV now comes with demo patches in Help Browser!
  • fixes for Skia ImageReader and ImageWriter
  • added '-m' or '--allowmultiple' command line arg to allow running multiple instances side-by-side
  • shortcuts are deactivated for patch when Finder box is open
  • several fixes for IOBox drawing and interaction

139:

  • fixes various assembly not found exceptions when using nodes of the Midi category, the Script region or binary serialization: a, b, c

137:

  • fixes problems with pin-editors: a, b, c
  • enables spread-editors directly on pins

134:

  • Info.vl in now called Intro.vl
  • double-clicking .vl files will open with the already running instance
  • Skia renderer goes fullscreen via F11 or Alt+Enter
  • many fixes and tweaks

Apart from the promised and still missing parts, we're aware of quite some little glitches still and will update the download link above periodically. So please check back often and report your findings!

Yours truely,
devvvvs.

joreg, Tuesday, Nov 19th 2019 Digg | Tweet | Delicious 22 comments  

And here we are, another fresh DirectX11 release, which gives a nice 1.3 bump.

  • - Begin Small Update (1.3.1) :

Two small issues decided to hide themselves in latest 1.3, and since they are annoying enough they deserved a quick fix and a 1.3.1 bump:

  • Group (DX11.Layer) and Enabled (DX11.Layer), when disabled and stacked, could cause some upstream nodes to fails, and then preventing render of next groups in line. This is now fixed
  • TextureFX, with it's latest update, had an eventual issue when patch starts in disabled mode and would not recover from it.

Also since it got implemented, TextureFX shaders that can use "wantmips" now do so (Edge, Blur, BlurDirectional, BlurGlow, BlurPerfector, DistortFlow, DropShadow, UnsharpMask)
.They are all faster in that scenario.

  • - End Small update 1.3.1

For impatient people, here are release highlights:

Texture FX

  • Technique is now spreadable (you can now build some really nice effect banks)
  • Reflection is now performed only on compile (no technique swap penalty), and general better runtime performance.
  • Now technique can have the annotation : wantmips , this avoids to make your own mip pass (runtime will do it for you, and will only do so if input texture requires it).
  • New pin "Preserve On Disable" (spreadable). This allows (When Enabled pin is off), to keep last frame result instead of routing input.

For spreadable technique example, see: girlpower\misc\texturefx_technique_spread folder

Render States

  • Presets internal handling is now less error prone and faster.
  • New blend state presets : MultiplyAlpha, ReplaceAlpha , BlendDestination
  • Several new nodes that allow to modify individual parts of a render state without touching the rest (DepthClip, Wireframe, EnableScissor, AlphaToCoverage

Other

  • New DrawFullScreen (DX11.Layer) : does a standard full screen draw, all ready to go
  • New texture array routing nodes (Search for GetArray), contributed by sebl
  • Renderer (DX11) now outputs input device objects, as well as states, contributed by tebjan
  • Several new convenience Bullet nodes
  • FrameDelays got a fix which was not releasing memory when deleting the node : Also they now block upstream evaluation when disabled (and have auto evaluate flag on)
  • New documentation pages inhttps://github.com/mrvux/dx11-vvvv/tree/master/Docs . For now full semantics and annotations reference.

Patreon and Supporting DirectX11 development

I of course wanted to say thank you to people who did either a Patreon subscription, or by doing private yearly invoice.

There is now an About (DX11) node, which has the names of all Contributors and Supporters.
http://www.patreon.com/mrvux

Next

For next release, the main aim is to upgrade to latest version of Assimp (and it's c# wrapper).
This will allow to import the newly supported formats (gltf), and use more complete wrapper version (specially for loading options).

Please note that latest Assimp binaries will be incorporated in next alpha build (github).

Full Changelog

  • Submodules are now http, which should help for clining entire repository (ssh would fail on forks)
  • Added About (DX11), which contains version number, contributors and supporters information
  • Framedelay (2d and 3d) were not disposing resource when deleted from patch.
  • Framedelay (2d and 3d) now also start render graph (as part of update stage), and do not evaluate upstream anymore when disabled.
  • New blend state presets (available in Blend and Renderstate nodes) : MultiplyAlpha (only multiplies alpha channel, leave color as it it), ReplaceAlpha (leave color and set new alpha), BlendDestination (uses alpha in the render target instead of pixel shader ouput as factor, for opacity masks).
  • Add EnableScissor (DX11.RenderState) : Allows to modify state to enable scissor, without touching the rest.
  • All state nodes now use static enum instead of dynamic string based version, which increases performance for those nodes (no more lookup needed).
  • Add DrawFullScreen (DX11.Layer) : as in title , a fast version instead of using module
  • Gesture (Kinect2.Microsoft) : Fix issue when rceiveing frame and no skeleton is reported (which could happen sporadically)
  • Add GetRigidBodyCustom(Bullet) : Allows to get custom pin of a rigid body.
  • Add BoxContainment(Bullet Rigid.Filter) : Allows to filter rigid body list if they are inside or outside a bounding box.
  • Add SphereContainment(Bullet Rigid.Filter) : Allows to filter rigid body list if they are inside or outside a bounding sphere.
  • GetConstraintDetails(Bullet) : Now outputs related body.
  • Gesture (Kinect2.Microsoft) : Now allows to specify user index manually, instead of using first found skeleton as before.
  • Renderer (DX11) : Now has output for events as well as state for user input (mouse, keyboard and touch), contributed by @tebjan)
  • GetArray (DX11.TextureArray), allows "GetSpread" in texture arrays, contributed by @sebl
  • GetArray (DX11.TextureArray BinSize): same as above, but with bin size (allows combining), contributed by @sebl.
  • AlphaToCoverage (DX11.RenderState) : allows to enable alpha to coverage for multisampling in an existing render state (without modifying other options)
  • AlphaClip (DX11.Effect) : simple effect with texture that discards pixel if alpha is below a certain value
  • DepthClip (DX11.RenderState) : allows to enable or disable depth clipping (near/far plane) in an existing render state (without modifying other options)
  • Texture FX Technique pin is now spreadable (means you can now use different effects for different slices, see girlpower\misc\texturefx_technique_spread folder for an example)
  • Texture FX cache is now more efficient, no more penalty when switching techniques.
  • Texture FX technique can now use a "wantmips" bool annotation, to build mips before the first pass (only if needed)
  • Texture FX has a new option "Preserve On Disable" (spreadable), if Enabled pin is off, keeps previous frame texture instead of passing texture In.
  • Info (DX11.Texture2d) no exception if a texture is null, returns same defaults
  • New reference semantics (MIPLEVELSOF and INVMIPLEVELSOF) to allow to access input texture mip levels in effects (see girlpower\misc\referencing_miplevels for example)

Download Here :
directx11-nodes

vux, Monday, May 21st 2018 Digg | Tweet | Delicious 1 comments  

It's been a little while again, but here it is, new Directx11 version.

There are many changes around, so I'm not too sure where to start.

First thing, versioning has been updated, no more alpha/beta, that joke about "software is always beta" made it's time, but as we say, shortest jokes are the best, and for many users that sounds pointless and confusing, so now build is adopting a more formal version naming eg : release, with beta and alpha being used for in between releases.

Second thing, build system has been reworked and now uses a build server, which allows direct update to git releases, so users who want to try out early releases can do so much more conveniently viahttps://github.com/mrvux/dx11-vvvv/releases

No more need to build the pre releases yourself.
This also means that users can expect more frequent releases.

Second thing was in the list for a long time, interface has been changed (basically
IDX11ResourceProvider and friends have been replaced by IDX11ResourceHost version and friends. Removing IPluginIO is necessary as it creates some major issues going forward (and never got used anywhere inb the codebase anyway).

For this release ResourceProvider is working alongside Host (it is now marked as deprecated and will be removed from git version pretty much as soon as I finished this post.
Sadly, LayerProvider could not be made to work alongside Host version, so those have been removed already. From what I know there's no custom plugins using it (or they already move to new interface), so on a user perspective there should be no transition issue.

As usual, I think I should have a ready to paste version, and maybe an auto bot to reply in forums, bugs are to be submitted herehttps://github.com/mrvux/dx11-vvvv/issues

Ok now let's go past those (boring) announcements details and go through what every user wants eg : What's new (and download obviously)

Internals:

  • First general shader node internals got reworked, removing some non necessary pipeline calls, and pin system got updated to moved to mave a lower api footprint as well. Also have some new specific optimization if same geometry is renderered several times). So now Layer shader nodes go from faster to much faster.
  • Shaders also now allow multiple passes: This comes at the restriction that Vertex shader input in every passes have the same signature. See girlpower example (misc/multipass)
  • Fix 64 bits depth format (even if it is rarely used)
  • Effect pass can have topology annotation: Since some shaders expect a specific opology and nothing else, this can now be set at pass level (and avoid some subtle bugs) See girlpower example (misc/topology)
  • New shader semantics (SIZEOF and INVSIZEOF), which allow with a ref annotation, to point to a resource variable. Runtime will auto set this to Resource size. See: girlpower/misc/referencing_variable

New Nodes (or new options in node):

  • Renderer (DX11 TextureSpread): Allows to render to a spread of texture (so you can use various resolutions and formats for each view/projection slice)
  • Text (DX11.Geometry) : Don't think I need much explanations for that one
  • Viewport (DX11.layer Indexed) : Sets a new viewport depending on camera index from renderer.
  • Zip (TextStyle) + bin version (user:sebl)
  • Renderer (DX11) : Now has a flip sequential pin, which allows to handle eventual tearing issues, see girlpower/misc/flip_sequential
  • All platonic solid: Radius pin
  • World (DX11.Layer) Allows to move a whole layer while preserving Camera (View), this is also set in shaders via new semantics : LAYERVIEW, WORLDLAYER, WORLDLAYERVIEWPROJECTION ...
  • ViewProjection (DX11.Layer) Spreadable, can repeat a full scene with a different camera.
  • Anisotropic (DX11 Sampler) : Anisotropic sampler preset
  • Enabled (DX11.Layer) : Blocks both render and evaluate is disabled. Same as group does, but lightweight.
  • TextFormat(DirectWrite.Advanced)
  • Kinect2 (Devices) : Depth Camera Intrinsics pin (user:id144)
  • PixelData (DX11.Texture) : Reads raw pixel data in a stream, no image conversion (can perform stride copy if wanted though).
  • DynamicBuffer (DX11.Buffer Raw) : Raw buffer from stream type
  • DispatcherX DispatcherXY (DX11.Drawer) : convenience nodes for 1d/2d dispatch, which does thread group calculations (avoid to replicate this everywhere)
  • BufferData (DX11.RawBuffer) : gets raw buffer data as a stream.
  • TextSettings (DX11.Advanded) Allows to create a different text engine, specially to allow large text (see girlpower/misc/large_text)
  • InputElement (DX11.Geometry Preset) common input element presets, to use along gsfx and to avoid repeating those over and over again.
  • TemplateComputeBuffer (DX11.Effect) : Template to quickly get started writing to a buffer in Compute.

Fixed Nodes:

  • Info (Assimp.Mesh) : spread indexing was broken
  • Cylinder (DX11.Geometry): Radius issue
  • Text styles had an issue in spread cases (user:sebl)
  • GetSlice (DX11.TextureArray) : Fix some potential error on delete
  • GetSlice (DX11.DepthTextureArray) : Fix some potential error on delete
  • VideoIn (DX11.DShow) : Fix some potential error on delete
  • Renderer (DX11) : Accepts key presses again (user: azeno). This was disabled long time ago due to some silly vvvv core Beep issue.
  • All Readback (StructuredBuffer) can read any structuredBuffer (not only ones from renderers)
  • Vlc (DX11.Texture 2d) reports file as invalid if they are parsing late, instead of potential crash.
  • Add DynamicBuffers (structured versions) : Have a different upload mode Dynamic/Default/Immutable, to eventually improve performances depending on usage (for example, a static buffer should be set as Immutable and Apply set to false asap).
  • Renderer nodes now have a new Depth buffer mode eg: WriteOnly. In case you do not need to read depth buffer, this should be the new default (does not expose an output pin). On newer cards this allows graphics card to improve performances.

Examples:
Lot of new examples and help patches (20+ from Assimp, Semantics...)

So for users who did read all and did not scroll hear (or just skipped and went straight into contribution page):

Download here:
directx11-nodes

vux, Monday, Feb 6th 2017 Digg | Tweet | Delicious 7 comments  

Holy patchers!

To answer the often contemplated question of "Where the hell is this all going?" we first have to establish that vvvv is different things for different people. Let's have a look at some of these different perspectives:

■ vvvv - a generative designers best friend
■ vvvv - a data visualizers wonder weapon
■ vvvv - an interaction designer's magic wand
■ vvvv - the multiscreen solution
■ vvvv - physical computing covered
■ vvvv - a projectionmapper's dream
■ vvvv - rapid prototyping on steroids
■ vvvv - your procedural lighting desk
■ vvvv - computervision for everyone
■ vvvv - stage? show? control!
■ vvvv - fish feeding for the lazy
■ vvvv - L.A.S.E.R zzzz!1!!

That's all?, we hear you say...and you mumble on, but can I please has:

■ vvvv - a tool for machines to learn
■ vvvv - easy logic for gamers
■ vvvv - visual scripting done right
■ vvvv - klickklickklick your mobile app
■ vvvv - the no-brainer IOT toolbox
■ vvvv - the final webdev solution
■ vvvv - an admin's batching buddy
■ vvvv - robots dig this
■ vvvv - no controller too micro
■ vvvv - from sound to noise in one patch
■ vvvv - any shaders of gray
■ vvvv - scratch that: kids taken seriously

Well, vl, vl, we hear ya.. and that's exactly why at the heart of it all, we have always been, and will continue to work on:
■ vvvv - a multipurpose toolkit

Introducing vvvv gamma

When we started working on VL, we never thought about creating anything different than vvvv. We had our issues with vvvv and wanted to solve those. But mostly we loved it and wanted to keep the good things we still enjoy about it. Essentially we set out to rewrite vvvv to make it better, nothing more.

So it is our great pleasure that we can finally annouce the impending release of what we've so far been referring to as "VL standalone":

For a start, vvvv gamma will focus on 3 main scenarios:

  • 2d interactive motion graphics using VL.Skia
  • computervision using VL.OpenCV
  • controlling devices, ie. everything IO (Midi, UDP, OSC, RCP, HTTP...)

Frankly it will be gorgeous and above all shine through the following features:

  • multithreading
  • patching with any .NET library
  • windows executable export

So beta vs. gamma, really?

Nope, don't think vs., we prefer to think ♥!
Here is how to read this: Over the past years we've been R&D'ing a next generation visual programming language that we dubbed: VL. And we still call it that: VL is a programming language, just like c#, that now happens to power two of our products:

  • vvvv 50betaX
  • vvvv gamma 2019.X

While for vvvv beta, VL is just another language it supports, for vvvv gamma, VL is the core. As such, both beta and gamma will continue to profit as we progress with VL. We are well aware of the fact that gamma is not going to replace beta for everyone anytime soon. We're therefore commited to support both equally for the foreseeable future.

If you're interested in a few more details regarding how we'll be polishing vvvv gamma for its initial release, please head over to our roadmap.

What will gamma cost?

We're still working this out and will update you on licensing early next year.

Wait and what about Xenko/3d?

As we've previously reported from our lab, our initial efforts of integrating the Xenko 3d engine couldn't have gone much smoother. We have helped realize a complex multiuser VR project within just 4 months besides our research and now know that this is certainly the way for us to go forward. VL.Xenko will complete vvvv gamma to a fancypantsy interactive 3d authoring environment.

We're confident to be releasing an initial public version of VL.Xenko before 2019.Q4 and we have some ideas for a prerelease phase that we'll announce soon.


Thanks for using vvvv, thanks for your feedback on VL, thanks for your patience, thanks for the licenses you buy which makes this journey possible for all of us.

Have a nice holiday, get some rest, because 2019 will be the year of the vvvv desktop!

yours,
devvvvs.

joreg, Monday, Dec 24th 2018 Digg | Tweet | Delicious 7 comments  

Not many will remember the times when vvvv's 3d rendering was based on Direct3D 8. Not important really, because at the same time we released vvvv 33beta1 in December 2002, Microsoft released Direct3D 9 with a lot of new features, so we knew what we had to do..

Luckily vvvv's DX9 implementation proved powerful enough to be quite useful for many years. Then it took Microsoft 5 years to release its successor DX10 which was only available on Windows Vista, which nobody wanted. Also graphic-card adoption took quite a while so we didn't really feel an urge to start working on it right away.

A Gift

A year later in 2008 Microsoft released Windows 7 and with it DX11, which altogether looked more promising. But still a lack of adoption of supported hardware and Windows 7 didn't put too much pressure on us to implement it. Instead we thought it would be smarter to improve the plugin-interface for vvvv to make it easier for users to contribute to the library of nodes.

In parallel we had already secretly started work on our next big thing that would become VL, which we first announced at the keynode during NODE13. Since with VL we've mentioned from the beginning that we wanted it to eventually run across platforms, for us, implementing a new renderer based on the windows-only Direct3D api became less and less appealing.

What happened next couldn't have been more fortunate: besides many other major contributions, using the possibilities of vvvv's plugin-interface, power-user vux took it in his own hands to create a set of nodes for rendering with the features of DX11, which he released on vvvv's 10th birthday in December 2012. And the vvvvorld was a better place.

DX11 for vvvv is amazing, but innovation in the world of computer graphics started moving faster and faster. Despite the magic that DX11 brought, users demanded more and more bling, but all we were talking about was how VL would revolutionize visual-programming, which brought us all together in the first place.

Another Gift?

With the cross-platform goal in mind, for years it seemed the only option was going for OpenGL instead of Direct3D as rendering API for VL. But all those years, following OpenGLs development and stories about bad support by Microsoft and Apple never got us excited enough to just go for it. Meanwhile a new player has appeared as a modern cross-platform graphics API, called Vulkan, but since it is still in its early stages and support for MacOS seems not official yet, again we were reluctant to jump on it.

All the years we knew there would be another option: Instead of using Direct3D, OpenGL or Vulkan directly, we could base a rendering library for VL on a game-engine API that would deal with different graphics APIs under the hood and would possibly have all 3 as back-ends that can be used on different platforms without us needing to worry about it.

While this sounds brilliant, it obviously has other potential drawbacks (out of scope for this post). But also the range of options for game-engines we could have used wasn't too overwhelming. Until recently. Enter Xenko.

Xenko is a universe of its own and as such comparable to Unity3D, UnrealEngine, CryEngine and the GodotEngine. Please check Xenko's propaganda page to get a glimpse of its features.

We've had an eye on this engine for a while already but it being targeted at commercial game-studios would mean that every user of vl would also need to buy a license for it, so again we were hesitating and looked for alternatives.

But what just happened could again not have been more fortunate: The company behind Xenko, Silicon Studio, removed its commercial licensing and released it to the community under the MIT license, which is a very permissive open source license. This would allow us to base a renderer for VL on it without any licensing restrictions.

Xenko and VL

Initial tests look very promising. Within just a few days we were able to patch a little interactive scene and export the project as an executable so it could be distributed via the Steam store and run on a VR device.

Hence our plan is to investigate further in this direction and at the moment we see two interesting workflows between VL and Xenko:

  • a VL.Xenko pack: that would be basically like the VL.Skia pack we've just released
  • Xenko Studio as a host for VL: that would be similar to how vvvv is hosting VL at the moment

For both scenarios what will be important, is a proper library design wrapping the original Xenko functionality into a comfortable set of nodes, similar to what we just did for Skia.

Next Steps

We'd usually not water your mouths before we are more sure about things. But with Xenko just having gone full open-source and looking to build a community of developers and users, we thought it would be a good idea to talk about this now and try to involve you from the beginning.

So if you're curious about Xenko's universe, just head over to its website and see what it has to offer. You can even download and play around with the editor and if you're familiar with C# create a little game with fancy graphics and assets in no time.

Next we'll demo what we've got so far to participants at LINK and start a discussion there. If you're not at LINK please still join the discussion with your thoughts using this thread. If all goes well we should also be able to share our proof of concept sometime after LINK.

So we hope you understand that at this stage it is too early to promise anything but at the moment we are confident to having found the right library for implementing a 3d rendering system for VL. Just as we were happy when we finally found Skia as the perfect library for VLs 2d rendering system.

Meanwhile please help spread the word about Xenko, retweet their announcement and consider supporting their Patreon to help them build a strong developer community.

We'll update you about developments as we progress...

joreg, Thursday, Aug 2nd 2018 Digg | Tweet | Delicious 11 comments  

here we go.

in an attempt to save the collected wisdom of node13 for posterity this blogpost aims to provide a reference of where all the stuff that was handed out during node13 workshops went.

Beginners

Transformations
Video Effects and Compositing

Intermediate

Facade Mapping
DirectX 11 Rendering Techniques I
Dynamic Plugins
Software engineering patterns with vvvv
Bullet – 3D physics based interaction
Building Applications with vvvv
High-level multi-touch gesture recognition
vvvv and the Arduino
  • workshop patches are in \addonpack\girlpower\Arduino
Motor Control
Art and Brainwaves with vvvv
Folding & cutting paper with vvvv
Voodoo Camera Tracker with vvvv
Visualizing dance with Motion Bank

Hardcore

Particle Madness
Working with the vvvv-sdk

more is promised...will update this posting as material comes in.

joreg, Wednesday, May 22nd 2013 Digg | Tweet | Delicious 0 comments  

Hey VVVVolks,

just in time for the weekend we are super happy to share the NODE17 Workshop Video Captures!!!111

In total we have been able to capture 22 workshops. And chrisr spent the last weeks editing the video and sound, uploading, adding video descriptions and bringing it all together.

Happy binge watching!

And if you are searching for the workshop materials, here you go: node17-workshop-material

Yours Truly,
schnellebuntebilder

3D basics & building interaction - Part 1
https://youtu.be/QJP6RlItm-4

3D basics & building interaction - Part 2
https://youtu.be/7rlvPBT_-To

Advanced DirectX11 shading - Part 1
https://youtu.be/0Dr3YufNPDk

Advanced DirectX11 shading - Part 2
https://youtu.be/uzcAI9YwN70

Box 2D
https://youtu.be/8QVEwm-B14s

Bullet Physics
https://youtu.be/G92Kv-ELmes

DX11.particles
https://youtu.be/qhfZyZnKB7U

Compute shader
https://youtu.be/GEAAXZktl4g

Cutting & Folding Paper
https://youtu.be/dIkF4oaa8QY

Forward+ or how to bring thousand of lights to VVVV
https://youtu.be/ny9j2_yBbZQ

How to use a statemachine - Automata UI
https://youtu.be/I8CmERSoyPc

Instance Noodles
https://youtu.be/ZZGdH8hKgQY

Introduction to DX11 rendering
https://youtu.be/J1VyN-QbTzY

Introduction to VVVV message awesomeness
https://youtu.be/TQsoWRD8veg

PBR Rendering
https://youtu.be/soopcp7p5YU

Procedural noise
https://youtu.be/_E8nGaU-fcU

Supershiny Motion Graphics with Superphong
https://youtu.be/6Oj1NiOKIo0

Transformations
https://youtu.be/oKY-kUOGw_A

VAudio basics
https://youtu.be/v9A2ZClc7gM

VVVV.JS 2.0
https://youtu.be/C9Oy2NfmWcc

VVVV.js Game Engine
https://youtu.be/0CGrbsP-DZY

Programming DMX and visualizing with grandMA2 - Part 1

https://youtu.be/X4NlQregicQ

Programming DMX and visualizing with grandMA2 - Part 2

https://youtu.be/uUikoBnEmZo

timpernagel, Friday, Aug 11th 2017 Digg | Tweet | Delicious 14 comments  
Happy birthday

So where to start...

After a couple or years of bugging devvvvs for features, creating/fixing new bugs, it's finally there.

So there's a little nice hefty number of nodes around already, but let's speak about what to expect from it, except the fact of joreg already being in the starting blocks to submit bugs :)

As usual going to a new API also means there's some changes (bugs) around the corner.

So let's see a bit of (non ordered) features list.

read more...
vux, Sunday, Dec 16th 2012 Digg | Tweet | Delicious 27 comments  

photo by benju

okok,

this one took us longer than planned, but it was a difficult one in a way that it includes so many new details. if you are following the devvvv blog you should already know about most of the new stuff thats coming with this release. here is a feature-summary:

for the user

  • we finally have a refactoring option. select a bunch of nodes, press CTRL+G and see them be replaced by a suitable subpatch. gorgeous.
  • we got a series of new vector-modules that should just be more comfortable to use than what's been there so far. check:
  • now please have a look at the new Zip/Unzip nodes. they are basically generalized Vector Join/Split nodes but faster. here are some details: zip-and-unzip
  • there has been a subtle change for all keyboard and mouse related nodes. shouldn't worry you to much as a user. is now just supposed to be more comfortable. specifically check the revamped KeyMatch (String) which will save you some nodes from now on. some more on this is here: keyboardstate-mousestate
  • the next thing is a bit more nerdy but just as userfriendly. it basically allows you to control values in your patches from your android phone. here is how: remoting-vvvv-exposing-pins-kontrolleur

for the developer

here is a list of the latest blog-posts with infos regarding changes to the plugininterface for beta28 that should make your devvvvs lifes easier:

for a full list of fixes and changes check the change-log as usual.
good patch,
yours devvvvs.

Download: 32bit vvvv_45beta28 | See Changelog | 2138 Dls
joreg, Tuesday, Aug 14th 2012 Digg | Tweet | Delicious 0 comments  

General Status

As you know, efforts have been going for the last year and a half into bringing a computer vision nodeset to VL.

The goal was to incorporate as many of the features covered by the world renowned ImagePack; contributed by Elliot Woods some years ago; while bringing in as many new features and improvements as we could.

In the winter of 2018, after setting a roadmap and having patched a decent initial nodeset, we happily announced the pre-release version of VL.OpenCV.

Since then, listening to your needs and constant feedback, we have tried to polish every corner, fix every bug, document every odd scenario, add plenty of demos and specially we tried to give you a clean, consistent and easy to use nodeset.

At this point in time, we are happy to announce that the goal has been nearly met. Most of the features available in the ImagePack made it into VL.OpenCV with the exception of Structured Light, Feature Detection, StereoCalibrate and some of the Contour detection functionality. At the same time, newer features such as YOLO, Aruco marker detection and others have been brought in for you to play with.

So what's next? Even better documentation and loads of examples!

In the mean time, here is a summary of the new things that have been brought into the package in the last couple of months:

CvImage

The new CvImage wrapper around OpenCV's Mat type allows for some optimizations, specially when dealing with non-changing images.

CvImage allows nodes to run only once when the image has changed, significantly reducing CPU usage

Cache Region lovvvves CvImage!

Since it is now possible to detect if an image has changed, CvImage is a perfect candidate to benefit from Cache regions.

Cache Region

Cache regions can now make proper usage of image inputs and outputs

Keep in mind that Cache regions have already been added to most VL.OpenCV nodes. When in doubt just open the node and have a look inside.

Renderer

The Renderer was re-built from the ground up to improve usability and to fix bugs and issues. Title, Render Mode and Show Info features were added. Renderer also remembers its bounds on document reload.

Renderer

New Renderer implementation introduces Title, Renderer Mode and Show Info pins

Histograms

Histogram analysis has been added to VL.OpenCV. A useful tool in many scenarios.

Hitograms

Histograms allow you to analyze pixel value tendencies per channel

Homography

Homography and reverse homography are now available in VL.OpenCV.

Homography

Homography (vvvv used only for point IOBox)

Stereo Matchers

Two new Stereo Matchers were added, these allow you to create a depth map from a set of stereo images. For more see the StereoDepth demo patch in VL.OpenCV.

Stereo Matcher

Depth map obtained from a pair of stereo images

Serialization

Serialization support was added for CvImage and Mat types, allowing you to use CvImage as part of more complex data structures which get serialized with no effort. This can be a heavy operation so make sure to trigger it when needed only.

For a hands on demonstration check out the Serialization VL demo that ships with VL.OpenCV.

Breaking Changes

As part of this final effort to clean everything even further and make the nodeset consistent and properly organized, we needed to rename and move a few things around which as you can imagine means the introduction of breaking changes. We understand this is an annoying thing to cope with, but this was basically the reason why we chose to keep this pack in a pre-release state until we felt confident with its structure and approach.

In summary yes, you will get red nodes when you upgrade your VL.OpenCV projects to the latest version, but in most cases it should be as easy as to double-click and find the node in its new category.

An exception to this are the nodes that got renamed, which we list below:

  • Reader (Intrinsics) -> IntrinsicsReader
  • Reader (View Projection) -> ViewProjectionReader
  • Writer (Intrinsics) -> IntrinsicsWriter
  • Writer (View Projection) -> ViewProjectionWriter
  • GetByteArray -> ToByteArray
  • GetValues -> ToValues
  • GetValues (Custom) -> ToValues (Custom)
  • FiducialTracker -> FiducialDetector
  • Update (FaceRecognizer) -> FaceRecognizerUpdate
  • VideoFile (Append) -> VideoWriter (Append)
  • VideoFile - VideoPlayer
  • Merge -> Join

Summarized Changelog

General

  • Introduced a new wrapper for Mat called CvImage
  • Cache region additions to improve performance on non-changing Images
  • ImageReader re-implementation
  • Renderer re-implementation
  • VideoIn re-implementation
  • Reintroduced "Supported Formats" output pin on VideoIn node
  • Upgraded to VL.Core 0.95.37
  • DirectX/OpenCV transformation documentation and cleanup
  • Added Blocking, Reactive and HoldLatestCopy versions of VideoIn node
  • Added Blocking and Reactive versions of ImageReader node
  • Reimplemented Extrinsics as a data type
  • Stabilized VideoFile Source node and moved from Experimental into Sources
  • Added Serialization support for Mat type
  • Added Serialization support for CvImage type

New in VL

Nodes

  • StereoBMMatcher
  • StereoSGBMMatcher
  • ToValues (Custom)
  • ToValues
  • GetChannel
  • Histogram
  • DrawHistogram
  • ToByteArray
  • Transform (Perspective)
Demos

  • DrawNodes
  • Homography
  • Histogram
  • Serialization
  • StereoSGBMMatcher

New in vvvv

Nodes

  • IntrinsicsToProjectionMatrix
  • ExtrinsicsToViewMatrix
Demos

  • Calibrate and Reproject
  • SolvePnP
  • StereoDepth

Remember that in order to use VL.OpenCV you first need to manually install it as explained here. Also, until we move away from pre-release you need to use the latest alpha builds.

We hope you find good use for this library in your computer vision projects and as always, please test and report.

ravazquez, Sunday, Mar 17th 2019 Digg | Tweet | Delicious 3 comments  

anonymous user login

Shoutbox

~4h ago

eps: @joreg no offline installer anymore?

~4h ago

joreg: Out now: vvvv beta 39: vvvv50beta39

~1d ago

tonfilm: @strblau they are in the dx11 pack: directx11-nodes

~1d ago

strblau: @schlonzo I DID IT! Thank you so much

~1d ago

schlonzo: @strblau install addonpack

~1d ago

strblau: anyone knows how to find kinect2 (dx11,flateric) node?

~5d ago

bjoern: Need someone to patch for you? I am looking for a job :)