vDome, The Real-Time Dome Projection Application: Fulldome Development for Interactive Immersive Training : Entry 4

In pursuit of our goal to run dome masters from a single computer with a full 2k resolution and 30fps, here at the Institute of American Indian Arts, we have been working steadfast. With the expertise of our software developer, Charles Veasey, we believe we have a solution – vDome.

Charles often uses the Max framework from Cycling ’74 to prototype media based software. It provides great performance and the ability to program very rapidly. Once finished with the working prototype, he evaluates the situation as to whether it would be worth rewriting the application in C++. Most of the time it is hard to justify the amount of time it would take for the slight increase in performance. However, given the computer demands required of this type of software, it might be worth the effort.

It has been a busy few weeks and a lot of trial and error, but we’re please to announce a fully working prototype! We haven’t quite got the calibration 100%, but we’ve only tried once with the latest version. Our calibration didn’t work because we mistakenly calibrated all the sides without accounting for the zenith. We got all the sides perfectly aligned and turned on the zenith only to realize that some of the sides were misaligned to the zenith.

grid alignment using vDome

vDome focuses on user interaction and extensibility. It does not include automatic calibration, but provides an interface which allows the user to fully customize the projection mapping. It’s intent is to be used on a dome theater; therefore, our virtual projection surface is a hemisphere, but the software allows you to replace the hemisphere with a custom obj model. This allows you to create seamless projections onto any surface of which you have a 3D model representation.

vDome User Interface

vDome is a standalone projection tool. For convenience it allows you to load image and video media directly, but it is really designed for inputs from either a TCP socket or Syphon connection. It currently supports both. This allows one to use Blender, module8, Unity 3D, and a host of other applications as the input source. With the socket connection the source can even be from a different computer!

So how does it perform? Well today was the first day with the lastest version, so there hasn’t been much testing. However, we did get a 2k dome master video encoded in Apple ProRes 422 running at 30 fps. This is on a 12 core Mac Pro with two Nvidia Quadro 4000 graphic cards.