The latest version of voxelent is packed with new features. Let’s take a look at some of them

API updates

  • getActor: retrieves an actor by name or by UID
  • getActorByUID: retrieves an actor by unique identifier (UID)
  • getProgram: returns the current shading program name
  • setup: the third argument (handleLayout) indicates if the view can resize dinamically (true) or not (false).

Towards collision detection

There is a new visualization mode vxl.def.actor.mode.BB_AND_SOLID. This mode will show the bounding box of the actor at the same time it shows the geometry. This feature is useful for instance if you are implementing your own collision detection algorithm and want to visually inspect which actors can collide.

Actor transformations

Actors now have an internal matrix transform that encodes local actor transformations such as position, scale and rotations. The methods setPosition and setScale have been updated to use this matrix, and there are new additional methods: translate, rotateX, rotateY, rotateZ.

Tracking Cameras

The code for the tracking cameras has been reviewed and updated. Additionally, cameras can now follow actors in motion. For example:

var camera = vxl.c.camera;
var cone = vxl.api.getActor('cone');
camera.setType(vxl.def.camera.type.TRACKING);
camera.follow(cone, vxl.def.camera.tracking.ROTATIONAL);

There are three tracking modes:

  • DEFAULT: The camera does not follow any actor
  • ROTATIONAL: The camera does not move but rotates to focus on an actor
  • TRANSLATIONAL: The camera moves to keep the same distance from an actor in motion

For more information please check the API docs

New camera methods

New methods have been implemented: roll, translate, closeUp, follow, unfollow. The method focusOn has been replaced by lookAt.

For more info, check the vxlCamera API docs

Tracker Interactor Updates

The dolly interaction Alt+Mouse dragging has been replaced by Ctrl + Mouse dragging

Double click on the view invokes vxl.c.camera.longShot()