Scripting, Prototyping (and more) in Interactive 3D Graphics

This webpage accompanies the paper Gerwin de Haan, Michal Koutek and Frits Post, "Flexible Abstraction Layers for VR Application Development", presented at the IEEE Virtual Reality 2007 (See the "about this work section below"). This will remain a work in progress. If you have additions, comments or anything else interesting for mentioning here, please inform me, Gerwin de Haan <g DOT dehaan AT ewi.tudelft DOT nl>

Current Contents:

Scripting Integration and Optimization Tools

The following list gives a short overview of software development tools for low-level language integration and performance optimization for scripting.

Scripting for 3D Graphics APIs

Table 1. Overview of scriptable graphics APIs, popular in VR software systems. For each API, several scripting languages for which available wrappings exist are given.

Base

Language

Name

Location

Notes

OpenGL

Python

pyOpenGL

pyopengl.sourceforge.net/

pure Graphics

OpenGL

Lua

LuaGL

luagl.sourceforge.net/

OpenGL

Tcl/Tk

ToGL

togl.sourceforge.net/

C renders in widgets

OpenGL

Scheme

Sgl

OpenGL Performer

Python

PyPer

Included with OpenGL Performer

see ~cite{Stolk2002}

OpenSceneGraph

Python

pyOSG

mosca.caltech.edu/projects/pyosg http://www.hitlabnz.org/people/hse25/osgbindings.html

Multiple versions exist

OpenSG

Python

pyOpenSG

realityforge.vrsource.org/view/PyOpenSG

OpenInventor

Python

PiVy

http://pivy.coin3d.org/

see ref.

OpenInventor

Tcl/Tk

invenTCL

unknown

see ref.


Scripting in VR sofware systems

Table 2. Overview VR software systems with scripting facilities. For each VR system, the used scripting language and type of wrapper software are given.

Name

Ref.

Language

Wrapping

Notes

Alice

cite{conway1997}

Python

Manual

early VR prototyping and learning environment

Avocado

cite{Tramberend1999}

Scheme

Manual?

distributed framework, Scheme to script applications

Colloseum3D

cite{backman2005}

Lua

toLua++

created OpenSceneGraph Lua bindings

Delta3D

cite{Darken2005}

Python

Boost.Python

visual simulation lib, thin unifying layer

DIVE

cite{Carlsson1993}

Tcl

unknown

scriptable object behavior

Lightning

cite{blach1998}

Tcl

unknown

focus on flexible prototyping

Panda3D

cite{Goslin2004}

Python

custom

strong focus on programmability and add-on tools

Visum

cite{Finkenzeller2003}

Python

Pyrex

Python core, some performance sections in C++

VRJuggler

cite{Bierbaum2001}

Python

Boost.Python

pyJuggler, uses PyOSG as graphics API, supports clustering

iVR

TuDelft VR Toolkit

Python

SWIG

See project page at http://visualisation.tudelft.nl/Projects/iVR

Recent entries for additions:

Other, interesting libraries and activities

About this work

This webpage accompanies the paper Gerwin de Haan, Michal Koutek and Frits Post, "Flexible Abstraction Layers for VR Application Development", presented at the IEEE Virtual Reality 2007, Charlotte NC, USA. If you use this page in your work, please site this paper and inform Gerwin de Haan by mail.

#the bibtex 
@INPROCEEDINGS{gdh2007a,
   author = {Gerwin de Haan and Michal Koutek and Frits H. Post},
   title = {"Flexible Abstraction Layers for VR application development"},
   booktitle = {Proceedings of {IEEE} {Virtual Reality} 2007},
   year = {2007},
   pages = {239--242},
}

This remains a work in progress. If you have additions, comments or anything else interesting for mentioning here, please inform me, Gerwin de Haan by mail.

VRdev (last edited 2010-06-21 14:53:11 by localhost)