Solutions

What's new in Virtools 4.1

Authoring

  Virtools™ 4

  Physics Library

  AI Library

  VR Library

  Multiuser Server

  3D XML Virtools™ Plugin

  PSP™ Solutions

  Wii ™ Solutions

Publishing

  3DVIA player

  3D Office Player

  3D XE Player

  VR Publisher

  Macintosh Solutions

Services

  Collective training

Publishing Rights

Educational Solutions

  Educators

  Students

  Labs / Research

Get the Virtools Game Prototyping Whitepaper.



Solutions > Products > Virtools Dev



What's New with Virtools™ Dev 3.0

With its new productivity enhancement features, Virtools™ Dev 3.0 is poised to make your interactive 3D production process faster than ever, and your teamwork management smoother and more efficient. The Action Manager, NXN alienbrain asset management integration, and the Virtools Interface SDK all facilitate your development process to improve your production cycle.

Dev 3.0's ground-breaking technology now supports programmable Vertex and Pixel Shaders, taking your real-time 3D games, multimedia and industrial applications one step closer to cinematic realism.

Dev 3.0's Behavior Library boasts several exciting additions including: a Cloth System BB to create cloth draping effects and two new Web BBs that let you download files, and exchange content to and from a webserver. Read about Dev's other new features, optimizations and bug fixes below. (Click on screenshots to see full-size images.)

Virtools Dev 3.0 - New Features

Virtools Shaders: Programmable Vertex Shaders and Pixel Shaders

Based on DirectX 9.0's Microsoft Effect Framework, Virtools Dev's recent introduction of programmable vertex shaders and pixel shaders greatly enhance the visual quality of your real-time 3D graphics, finally bringing cinematic realism within reach. Virtools Shaders make the most of programmable graphics processors on newer graphics cards, so you can create your own combinations of graphics operations to make customized, optimized special effects in real-time. Shaders now provide Virtools programmers with complete control over the Virtools rendering pipeline.

Asset Management With NXN alienbrain

Asset management with NXN alienbrain provides a comprehensive teamwork solution for both small and large production teams. Virtools Dev 3.0 now enables you to manage your Virtools projects from A to Z by offering:
    - Integrated rights management, version control and an intuitive “check in/check out” procedure managed directly in the Virtools Dev interface.
    - Easy-to-insert comments and logs for each object to improve archiving, versioning, retrieval and overall project management (NXN offers an extension to link alienbrain to Microsoft Project).

Action Manager

The new Action Manager is an important means of enhancing productivity for authoring with Virtools Dev. An Action is a specific type of VSL script (Virtools Scripting Language, introduced with Dev 2.5) which performs a predefined task on a selection or parameter. The Action Manager lets you import Actions, organize them, launch them and/or assign them to user-definable keyboard shortcuts in the intuitive Dev user interface.

VSL scripters can now create and share their dedicated tools programmed in VSL and access them in just a few keystrokes, thus greatly boosting productivity. Iterative media modifications, for example, can be easily made to change locations, reset positions, align objects, etc.



Building Blocks
  • Web Download: Downloads files from a webserver.
  • Web Get Data: Retrieves web page content associated with a given URL.
  • Cloth System: Creates cloth draping effects using a spring mass system (particle system BB).
  • DX8 Dependency: Retrieves the DirectX8 rasterizer in the Virtools Web Player.
    Note: DX9, DX7 and OpenGL rasterizers are now included in the Virtools Web Player 3.0.
  • Hardware Level: A new pOut was added that indicates if the composition is currently using OpenGL, DirectX5, DirectX7, DirectX8 or DirectX9.
  • Mark System: Added an option to create decal marks and to randomly orientate marks.
  • Ray Intersection, Ray Box Intersection (both in Logics) and 2D Picking (Interface): These three BBs now have the option to output their results in world coordinates or in local coordinates of the intersected object.

Miscellaneous Features

  • Obsolete or Invalid Building Block Explorer added to the Schematic Toolbar to facilitate parsing and replacement of obsolete BBs.
  • Many new variables added to the Variable Manager.
  • Double click on .nms files in Virtools Resources (delivered with Dev) to access its documentation (html page).
  • Behavior Graph Management chapter added to the Optimization Whitepaper in the Dev Online Reference.
  • Runtime Version DLL information for standalone executables in the Dev Online Reference.
  • Over 40 new Parameter Operations listed.
  • DX9, DX7 and OpenGL rasterizers are now included in the Virtools Web Player 3.0.


Virtools Interface SDK

The Virtools Interface SDK facilitates the integration of external Managers and Plugins (DLLs) in Dev's interface. The Virtools Interface SDK now makes it possible to create user interfaces within Dev for your proprietary technology. Develop your own Manager, for example, to edit animations in Dev's GUI interface.

On the left is an image of the Virtools Interface SDK AppWizard which can help you get a jump start on creating your proprietary Manager.


SDK: CK2/VXMATH

  • Template class XArray can have its content aligned into a specific memory boundary (aligned on 16 bytes for example).
  • The VxIndexedCopy function now also exists using word indices.
  • On the Windows Platform the VxTimeProfiler class now uses QueryPerfomanceCounter because it returns correct values on Intel processors with SpeedStep technology. Since the QueryPerfomanceCounter adds significant overhead while profiling small chunks of code, a much more precise VxRDTSCProfiler class is now available; it offers less overhead but is not "SpeedStep safe" so should be used only for profiling.
  • New manager event OnRasterizerEvent: from a manager you can be notified of events concerning the current rasterizer, such as whether it has been created, destroyed or resized (CKRST_EVENTS).

SDK: Render Engine

  • The rendering process for objects has been modified to minimize render states changes and avoid sending primitives that are too small (in terms of number of faces) to video cards. Two new variables control this behavior: CK2_3D\DisableBatching and CK2_3D\BatchingMaxVertexCountToBeBatched.
  • CK3dEntity::AddPreRenderCallback and CK3dEntity::AddPostRenderCallback now have an additional argument to indicate whether the callback will be modifying the rendering pipeline (changing current render states, textures, matrices, etc.), thus providing information to the render engine when sorting by material.
  • VxDrawPrimitiveData structure was changed to store XPtrSrided members.
  • Some enumerations and methods which were not used in the render engine or which could hinder certain optimizations were removed:
    • CK3dEntity::AreRenderChannelsVisible , CK3dEntity::SetRenderChannels
    • VX_MOVEABLE_RENDERCHANNELS,VXMESH_RENDERCHANNELS
    • CKMaterial::SetCallback , CKMaterial::GetCallback
    • CKMesh::AddSubMeshPreRenderCallBack, CKMesh::AddSubMeshPostRenderCallBack
    • CKMesh::SetFaceChannelMask, CKMesh::ChangeFaceChannelMask (Replaced by CKMesh::SetChannelFaceIndices)
  • New classes: CKShader and CKShaderManager were introduced to give access to high-level shading languages such as HLSL or CG. The HLSL implementation is given in the sample source code available with the SDK (See Available Source Code).