Februar 17 2010

Release R5.20

 
We are proud to announce that Ventuz R5.20 is available for download.
New features include: the new and improved Scene Management for easier and faster production of complex projects, a new Stage Editor, Advanced Layout Scenes and many more!
 




Why did we change the ‘old’ scene management?


In the previous versions of Ventuz the scene management had several problems and insufficient features. Also, the ability to split several parts of a show into smaller pieces, what scenes were initially meant for, did not fulfill the requirements. The previous approach of the “Scene Reference” didn’t help that much. The main issues were

Asynchronous load of scenes was not possible. The renderer stopped while loading sub-scenes.

Multiple instances of the same scene in memory couldn’t be handled properly (remoting).
 
Nested scenes were not exported correctly.

Reference scenes couldn’t be edited on-the-fly. You only were able to open another instance in the Ventuz Designer, edit it and “Save & Reload” the scene into its referencing node.

Blocking a scene reference didn’t really save performance, because the entire logic inside still kept working (like animation, movers, etc).




What’s new?

The Scene and Slide Reference nodes have been replaced by the Scene Port and Slide Port node. A Port node can hold a scene and is able to render the scene as it was “inside” the hosting scene. Hierarchy nodes like Axis, Color, etc can affect the sub-scene.



The main features of ports are:
If a Port is blocked by its Blocked property or by another parent node (alpha, switcher, etc) the scene gets inactivated and the internal scene logic is turned off. The performance saved on CPU is fantastic!

A Port can reference a scene by its name (URL), but also can reference a scene from memory. The remoting is able to load a scene and assign it later to Ports. This technique will allow us to switch or cycle scenes between ports in later versions of Ventuz.

A Port can be “locked”; that means the remoting or the new Stage Editor (see below) is not able to change the scene-to-port assignment. You can either lock a port by checking its “Lock” property or simply bind the File property to a data source (e.g. URL node or Excel).

Ports can load scenes asynchronously (in the background). A “Progress” value from 0% to 100% informs the hosting scene about the load progress. The Port also provides a “Loaded” and a “Failed” event to trigger certain stuff inside the hosting scene (like a fade in/out animation).

Every Scene can have an unlimited number of Scene Ports to “host” sub-scenes. We call the level of nested scenes the Scene Level. The scene level you usually work with is “Level 1”, the next lower level is “Level 2” and so forth.

Every Scene Port has a name (the normal node name) and an ordinal number starting at zero. This number is used to address ports within a scene via remoting. It is also important for “Layout Scenes” (see below).

If you open a scene currently assigned to a port, you can edit it on-the-fly! This makes modular work really easy!

Within the Ventuz Designer you can edit the exposed properties of a scene. A real “inter-scene-communication” does not exist yet. This will be the next step of development (see below).



The new Stage Editor


When working with nested scenes and remoting, you could easily lose the overview of which scene is rendered where. That’s why we developed the new Stage Editor (Ctrl-F12):



This Editor allows you to see all scenes in memory along with their available ports. Scenes can be loaded by the Ventuz Designer, by a Scene Port or by Remoting. The editor is again a tree view like you already know from the scene hierarchy editor. Drag&Drop makes it easy to assign scene to ports and track assignment changes via remoting. The scenes currently opened in the Designer as well the current scene are visually marked in the Stage Editor.

Inside the Stage Editor you can also switch and select the Layout of your current project (see below). It also allows you to temporarily change the MachineID for your local machine for testing cluster setups. Both features (layout and ID switches) are also accessible via keyboard shortcuts.

The editor is quite simple and has no “hidden” key shortcuts for special operations. Only Drag&Drop and the toolbar on top! Click and Double-Click on Scenes and Ports start some logical actions… try it out!



Advanced Layout Scenes


The new Scene Management allowed us to implement a very powerful new feature called Project-Layouts or Master-Scenes. A Layout is a scene loaded with your project before your first “user-scene” on Level 1. Layouts are placed in “Level 0” and can be used to create complex scene setups like multiscreen, stereoscopic, cube-projections, layering, etc. The big advantage of using layouts is that you don’t need to mess around with these setups anymore! Let Ventuz create Layouts for you (future versions) or let your Ventuz-Guru create the stereo-setup. You simply place a single sphere in your Level 1 scene – that’s it.

In the past, the “gurus” created the “scene head” and provided a blank scene to the actual content designers. The new Layout concept separates the idea of layout, content and sub-content!

Layouts are simple scenes holding at least one unlocked scene port, preferable port ordinal 0 (the default port) is not locked. A layout scene is a normal scene: you can use all nodes, externalize properties and insert layout related content.

The possibilities of layout are massive:

A split layout with two ports (left and right) by using two relative viewport nodes splitting the screen in two parts.

A layered scene layout: imagine three ports, background, content and overlay!

An effect-layout making a standard glow and mirror rendering!
 
 
Configure the layouts in the project settings dialog by accessing the new “Layout” config page:



Create a layout setup by selecting “new”. Enter a layout name and select the actual layout scene file. The fields “description” and “icon” can be used to help a user of your layout to work with it.

A very important feature of a layout is to override the actual rendering and screen settings of your project. In the D3D Overrides tab, you will find a small checkbox on every configuration group. If you check that box you can setup new values for each particular layout.

Imaging you setup a multi-head projection with two Ventuz machines with two outputs each. In such a case you could create a “preview” layout showing you the entire 4-screen-stripe, a “production” layout showing the actual content of one Ventuz machine depending on the machine ID (left or right).






Export Scenes and Projects


Inside the Ventuz Designer all layouts of a project are loaded in memory to allow the user to switch between them whenever (s)he wants. The Ventuz Presenter/Runtime only loads one layout and doesn’t provide the ability to switch layouts during production!

If you export scenes or projects to archives, please notice the following:

Export a scene to VZA (Ventuz Design Archive)
VZA exports stores the current open scene of the Designer into an archive including all nested scenes and their resources. Resources can be deselected in the resource dialog during export.

Export a scene to VRA (Ventuz Runtime Archive)
VRA exports does the same as an VZA export, but all exported scenes are written in runtime format (.vrs – Ventuz Runtime Scene). All required resources are included as well.

Export to VPR (Ventuz Presentation)
A Presentation export does not export the currently opened scene anymore! It actually exports the current layout setup, which means the current active layout with its complete current port assignment! So don’t forget to select the correct “production” layout before exporting a VPR! If you need to add more scenes to your VPR, you can use the Resource Linker node to embed more scenes in your presentation. The main-scene, could decide which scene to load during runtime!

Export to VZD (Ventuz Director)
A Director is a special form of the Ventuz Project file allowing the Presenter/Runtime to startup. If you export a Director the current active layout is “marked” to be the “production” layout of that Director. You also will be asked to export the current layout as a Runtime Archive VRA with the difference to the normal VRA export that no nested scenes are included in that export.
A change to the Ventuz Presenter/Runtime allows to “auto-import” Ventuz Runtime Archives even if they are “beside” the director file instead of being stored in the AutoImport folder, because this folder might not exist on the first startup.
The new auto-import also imports all found VRA files before (!) actually initializing the renderer and layouts.




What else is new in R5.20?


There is a new “Rectangle Rounded” geometry node. Check it out! It’s powerful for borders and frames, but also for rectangular soft shadow. Have a closer look to its texture mapping options.



The Render Target Node has been extended to select “Project” for its Multisampling Quality. In that case the Project settings are used, probably overwritten by the layout setting. The RT can also perform a “Render-Once” mode. This mode can be used to render textures of content which doesn’t change (pre-compose) or generate thumbnails of your sub-scenes!





Roadmap for Ventuz 2008


Interface Containers
This feature will allow you to define a bind for properties, methods and events at a container without (!) having any content inside that container. The actual container-content defines the actual functionality by exposing properties, methods and events. As long name and type of those “interface members” matched the containers definition (hull) this members get bound.
This technique will allow you to change container content (by drag&drop) without the need to re-bind the outer communication!
The same technique is used to “talk” to nested scenes as well. Your master scene could call the “Start” method on a port. As long the nested scene exposes a “Start” method, the trigger will do what you expect. Ventuz becomes really modular!

Symbols
The mechanism of “externalizing” properties will be enhanced that way, that other properties in your stage (bulk of nested scenes) can access these externals. You can create real “variables” or “parameters” or exchange information across all scenes without the need to bind them!

Remoting SDK
The new Scene Management required a revision of the entire remoting as well; otherwise the new features weren’t accessible at all. The new Remoting server is already running and exposed to .net-Remoting, but not officially “released” to be used.
The old remote interfaces (CLI, Vertigo, OSC, .net remoting 1.0) have been adapted to the new remoting layer and should work as they did before, without accessing the new layout feature!
The upcoming SDK will provide the ability to implement your own remoting interfaces. The CLI, OSC and Vertigo remoting will get a new version each to make to new features (ports) usable for them.
Another important reason why we changed the remoting is that the importance of cluster remoting came in focus faster than we thought. Therefore the new remoting allows asynchronous execution of each command. All commands can be scheduled and queued by assigning a timestamp (cluster-clock). The Cluster-HUB will be part of the remoting SDK for synchronizing the external control of multiple Ventuz Machines in a Ventuz-Cluster.


Due to the massive changes in the Ventuz core, content saved with R5.20 can’t not be loaded in any lower version anymore: Scenes, Projects and all Archives

R5.20 has been tested for weeks and some customers are already producing with it. Our latest exhibition shows (Best Of Events, Dortmund and Integrated Systems Europe, Amsterdam) were build with that version without any problems.



Full Release Note of R5.20

FEATURE         F219          Introducing new geometry Node "Rectangle Rounded". Use it to create rectangles with rounded corners or frames.
 
FEATURE F495 The RenderTarget node has now the ability to render one single frame only. Set the RenderOnce property to True to enable this functionality.
 
FEATURE F496 Introducing new ScenePort node! This node replaces the SceneReference node which is deprecated now. The ScenePort node is able to load scenes asynchronously. Additionally a blocking of the ScenePort node cause the loaded scene to be completely disabled. A blocked ScenePort node does not affect the rendering performance at all - no matter what kind of scene was loaded by this node!
not applicable in Express Edition
 
FEATURE F497 Introducing new Scene Management. The complete Scene-Engine of Ventuz has been revised to handle multiple scene instances and nested scenes as well async load and unload of scenes.
 
FEATURE F498 The HitTest node handles multiple pairs of coordinates. The coordinate origin is adjustable as well as the coordinate type is switchable from pixels to relative.
not applicable in Express Edition
 
CHANGE C248 The Director imports runtime archives (vra) before starting the renderer and loading any default scenes. Archives located 'beside' the Director file (vzd) are imported as well.
not applicable in Express Edition
 
FCHANGE C249 The Multisampling property of the RenderTarget node can now be set to 'Project'. In this case the multisampling is set to the value specified in the Project Settings (or Machine Config).
 
FCHANGE C252 Improved loading time of the MeshLoader node.
 
CHANGE C254 The version number of the Ventuz.Remoting.dll has been updated to 2.5.20.0 and is now compiled as "AnyCPU" and therefore usable from x64 applications as well. Please update your remote client software to reference this new version!
not applicable in Express Edition
 
CBUG B397 The Remainder output property of the Enriched Blocktext showed incorrect values. Fixed!
not applicable in Express Edition
 
CBUG B398 The BlurTexture Simple node corrupted the Alpha Blending if the Blur Factor was set to 0.0. Fixed!
 
CBUG B400 Scrollbars in Hierarchy and Content Editors didn't work properly on certain systems. Fixed!
 
CBUG B401 The RMB context menu in the Content Editor didn't work with zoom levels other than 100%. This is fixed now!
 
CBUG B405 Hardware Profile enumerated too little devices and didn't let you choose the correct device if your system provided more than displayed (eg. Serial COM, MIDI). Fixed!
 
BUG B406 The SystemID node did not refresh its output values after loading but presented the saved values. Fixed!
 
BUG B407 Cloning of animation channels on Reference Copy did not work. Fixed!
 














Please download the new release here!