Go to Top

How does Vanda Engine work

Author: Ehsan Kamrani

(c) copyright Zehne Ziba Co., Ltd. For more information, please refer to copyright notice.

In this section, we briefly explain the structure of Vanda Engine.

VScenes

In Vanda Engine, you should think of Vanda Engine Scenes (VScenes) as individual levels, or areas of design content. By constructing your design with many scenes, you’ll be able to distribute loading times and test different parts of your design individually.Any currently open VScene is what you are working on, as no two VScenes can be worked on simultaneously.
A VScene is a collection of external scenes in COLLADA format, a PhysX XML scene or built in physics elements, built-in objects (such as waters, sky, 3D sounds,etc), rendering effects, extra textures (such as normal map, alpha map, gloss map, etc) and other elements that are critical for a real time interactive scene.
You can use scripting to load another VScene while you are in current VScene. Such scenes are called Chained VScenes.

vanda-chained-VScenes

Chained VScenes

vanda-VScenesThis diagram depicts different elements of a VScene

External Scenes in COLLADA Format
Geometry

A geometry is a collection of vertices, edges, normals, triangles, tangent and bitangent vectors, UVs, materials, physics, and several textures such as normal map, alpha map and shadow map.

Vanda Engine reads vertices, edges, triangles, tangents, bitangents, multiple UVs, and materials of geometries from 3D tools capable of exporting to COLLADA. However, Vanda Engine interprets each geometry as an Instanced geometry which is a more general concept in computer graphics.

Instanced Geometry

Geometry instancing is the practice of rendering multiple instances of the same geometry in a scene at once. Although geometry data is ‘shared’ across all instanced geometries, each instance have its own differentiating parameters such as translation, rotation, scaling, and physics. In Vanda aEngine, there are two types of instanced geometries:
Animated instanced geometry: An animated instanced geometry is an instance geometry that its translation, rotation or scaling changes over time.
Non-animated instanced geometry: As its name implies, the translation, rotation, or scaling of a non-animated instanced geometry does not change over time.

Vanda Engine imports animated and non-animated instanced geometries from 3D tools capable of exporting to COLLADA.

Skeletal Animation

Skeletal animation is a technique in which a character is represented in two parts: a surface representation used to draw the character (called skin), and a hierarchical set of interconnected bones (called skeleton or rig) used to animate the skin.

Vanda Engine reads skins, skeletons, and animation clips (A collection of different animations) from 3D tools capable of exporting to COLLADA.

Lights

Vanda Engine imports animated and static directional, point, and spot lights from 3D tools capable of exporting to COLLADA.

Cameras

Vanda Engine imports animated and static cameras from 3D tools capable of exporting to COLLADA.

External and built-in PhysX scenes

Each VScene contains one active PhysX scene. Vanda Engine supports 2 types of physics scenes:
PhysX scenes imported from 3D tools capable of exporting to PhysX XML format.
PhysX scenes generated inside Vanda Engine.

Each VScene contains just one active PhysX scene.

Built in physics system of Vanda Engine works with PhysX scenes generated inside Vanda Engine. Due to that, When you import an external PhysX scene, built in physics editor of Vanda Engine is disabled and you can not generate PhysX actors and triggers inside the editor. In order to generate the actors via built in physics editor, you should remove external PhysX scene.

Built in Objects

Beside importing external scenes in COLLADA format, Vanda Engine lets you create several built-in objects via the editor. These include:

  • Lights
  • Water
  • Sounds
  • Sky Dome
Extra Textures

Vanda Engine directly reads diffuse textures of geometries exported from 3D tools. Beside this functionality, Vanda Engine uses simple naming conventions to look for normal, alpha, shadow, dirt and gloss maps and assigns them to geometries. Moreover, you can assign or change these extra textures via the Material Editor.

Rendering Effects
  • After importing the instanced geometries or skins from external scenes, Vanda Engine automatically assigns a post-processing effect called bloom to the current VScene.
  • Vanda Engine uses a cutting-edge technology called Cascaded Shadow Maps to render dynamic shadows. Animated instanced geometries and animated skins automatically cast dynamic shadows on other instanced geometries.
  • Vanda Engine has an exponential per vertex fog built-in.
  • Vanda Engine supports depth of Field (DOF). DOF describes the distance in front of and behind a focus point that appears sharp in a photograph.

By default, Fog and DOF are disabled.
You can modify the bloom, shadow, fog and depth of field properties via the Modify menu.

Other Elements

Vanda Engine uses a combination of Bounding Boxes and Octree to manage the instanced geometries and skins of the current VScene.
Moreover, you can assign scripts to instanced geometries and skins.

Share onShare on FacebookTweet about this on TwitterShare on Google+Share on LinkedInShare on Reddit

Next Tutorial >

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>