|
A Platform for 3D AR and VR Applications |
||||||
"I see the dim outline of a scene superimposed upon the still-clear
contents of the room..." - Isaac Asimov, The Robots of Dawn
|
Goblin is an innovative platform for developing 3D augmented and virtual
reality applications and games. It is written in C# and uses Managed
DirectX. The platform leverages the unique capabilities of the .NET
Framework to provide innovative features such as Edit-and-Continue.
In the next release, we plan to support Aspect-Oriented Programming.
Goblin is headed by Marc Eaddy under the direction of Prof. Steven Feiner of Columbia University's Computer Graphics and User Interfaces lab, and funded by Microsoft Research. News
Features
Edit-and-ContinueAt any time when Goblin is running you can open up one of the source files and make changes. Goblin automatically compiles the changes in the background and updates the running application on-the-fly. The entire update process takes about 1 second. This even works for changes made to plug-ins loaded by Goblin that are possibly written in a different .NET language. This feature is called Edit-and-Continue and works with C#, VB.NET, and JScript.NET. Goblin is currently the only 3D platform that supports Edit-and-Continue. Some important caveats are listed here.Aspect-Oriented ProgrammingWe are currently working on supporting Aspect-Oriented Programming (AOP) in Goblin. The goal is to provide a technique for implementing certain features that require time-consuming, laborious, or error-prone development, or adding features that were not originally anticipated. Examples of features we'd like to implement using AOP are state change notifications, data flow visualization, persistence, replication, logging, and profiling.Downloads
Application GalleryDocumentation
PublicationsMarc Eaddy and Steven Feiner. "Multi-Language Edit-and-Continue for the Masses," Technical Report CUCS-015-05, Department of Computer Science, Columbia University, April 2005. Download pdf | Download psContributorsProf. Steven Feiner <feiner AT cs.columbia.edu>Marc Eaddy <me133 AT columbia.edu> Erik Peterson <edp2002 AT columbia.edu> John Waugh <jrw2005 AT columbia.edu> Hrvoje Benko <benko AT cs.columbia.edu> Sean White <swhite AT cs.columbia.edu> |