Downloads

File downloads related to the ATS Immersive Environments Lab, including software development projects, utilities, source code, and other materials.

B3D File Format

a custom file format for 3D objects, similar to VRML/OpenInventor but with a few enhancements specifically for Performer and Ygdrasil. See the B3D File Format Documentation for a the format specification and Maya exporter options.
FileUpdated
libpfb3d.so.3 (Performer 3.0)March 5, 2004
libpfb3d.so.4 (Performer 3.1.1)June 15, 2004
libpfb3d.so.5 (Performer 3.2)Sept 23, 2005
polyB3DExporter.so (Linux/i386, Maya 6)Sept 23, 2005
b3dExportOptions.melSept 23, 2005
b3dImporter-src.tar.gz: source for the Performer loaderSept 23, 2005
b3dExporter-src.tar.gz: source for the Maya exporterSept 23, 2005

Ygdrasil syntax coloring for Kate

status: release

This is a syntax file for the Kate text editor. It will colorize YG syntax like nodes, events, commas, etc. It also recognizes nested parentheses up to 3 levels deep, and gives them slightly different colors to help you catch unclosed parentheses errors.
Since Ygdrasil is by nature an extensible and constantly evolving language, this is not a complete syntax file; it currently covers most nodes, messages, and events as of Ygdrasil 0.1.10, but can easily be edited to recognize new nodes. Please feel free to add onto it as needed, and to send me your changes so they can be shared.

It currently recognizes Ygdrasil files by the ".scene" extension, so for example opening "one.scene" will be colorized automatically, but "User0" will not.

Installation: download this file and install in /usr/share/apps/katepart/syntax.
FileUpdated
ygdrasil.xmlJanuary 15, 2004

mayaAnimation Node

status: alpha

This is a node that reads Maya .anim export files, so you can export keyframe animation directly from Maya and use it in YG.
This node is still very rough, so it may not work as expected, or may not work at all for you.
The ygAnimationEngine can read one or more .anim files, allowing you to load multiple animation clips with one set of geometry. It animates its children by trying to match named transforms in the .anim files with transform names in its child objects.

The transform names are internal Performer DCS names, not necessarily YG node names; so you must have an object file containing named DCS transform hierarchy. The B3D format (above) supports this feature,

Installation

  1. download the tar file, copy into your yg/modules directory
  2. gunzip mayaAnimation.tar.gz
  3. tar -xvf mayaAnimation.tar
  4. cd mayaAnimation
    make
FileUpdated
mayaAnimation.tar.gzApril 4, 2005

OSCNode

status: alpha, internal

Open Sound Control, or OSC, is a networking protocol for communication between different types of sound software. It has been implemented in a wide range of programs, including MAX/MSP, SuperCollider, Reaktor, CSound, Flash, Director, PureData, and more. It is particularly useful for connecting applications running on different machines, using either TCP/IP or UDP.

The OSCNode gives YG the ability to send messages to any software that understands Open Sound Control. We've used it with Reaktor, MAX/MSP, PD, and SuperCollider to produce real-time sound synthesis in CAVE environments. This is a separate sound server architecture from YG's Bergen server; a more elegant version of this method might meld with bergen to create a more seamless sound interface at the YG scene level.

It's important to point out that this node does not include any concept of spatialization, sample playback, etc. It is open-ended, designed to be used with, for instance, a custom-made MAX patch. It can be used to control parameters of anything from sample playback to granular synthesis.

Since this node is still pretty raw, there's no documentation yet. hold your horses.
FileUpdated
OSCNode.cxxMay 6, 2004
OSCNode.hb May 6, 2004

OSCUserTracker

status: alpha, internal

One of our research areas is in spatialized audio for virtual environments. Robb Drinkwater is developing a spatialization engine for multi-speaker arrays using SuperCollider, which can be used on its own or in conjunction with YG. It has support for both moving sound sources and a moving listener. The OSCUserTracker node simply broadcasts changes in the YG user's position and orientation over OSC, which SuperCollider uses to transform its sound synthesis elements.

FileUpdated
OSCUserTracker.cxxMay 6, 2004
OSCUserTracker.hMay 6, 2004

trackd JoystickController

A controller module for trackd that uses off-the-shelf joystick and gamepad-type controllers. Using the standard linux joystick kernel modules, this provides support for both USB and 15-pin analog joysticks and gamepads. Since these types of hardware are very inexpensive (particularly secondhand 15-pin types), hacking them can provide a quick and inexpensive platform for developing custom interface controllers for the CAVE.

JoystickController.cpp
JoystickController.h

Joystick YG Nodes without trackd

if you want to use YG without trackd, you can use these nodes for joystick input. JoystickNode gets raw joystick input, while JoystickNavigator can be used in place of the CAVENavigator node to let you navigate in the YG environment.

JoystickNode.cxx
JoystickNode.h
JoystickNavigator.cxx
JoystickNavigator.h