vtkInteractionDevice

Published: Friday, September 11, 2009

vtkInteractionDevice is a library that enables various input (and output) devices for use with the Visualization ToolKit (VTK).  Currently there is support for RENCI multi-touch tables and Virtual Reality Peripheral Network (VRPN) devices.  Only Windows is currently supported, but it should be relatively easy to add support for other platforms.  Python wrapping also works, should you wish to do so.

vtkInteractionDevice can be found here, and uses CMake for set up, which should be familiar to anyone using VTK.

There is a test application that shows how to use the library.  The user will probably want to create their own subclasses of vtkDeviceInteractorStyle to use whatever devices they are connecting to, but there are a couple of simple styles included to get you started.

(A similar library to use VRPN within VTK, built on Linux and including some cool widgets, is described here)

Feel free to contact me, borland at renci.org if you have any questions.

David Borland

Architecture of Association to be featured in the SCR

Published: Thursday, July 23, 2009

RENCI@UNC staff have worked with media artist William Seaman to adapt his work “The Architecture of Association“, to the Social Computing Room located in the UNC engagement center at ITS-Manning.  This piece will be a part of the CHAT festival coming in February, along with other RENCI@UNC projects currently under development, including new pieces for the Showcase Dome.

The main RENCI site has an interview and more information.

The Dome Corner 007

Published: Friday, July 17, 2009

Dome Notes

Last time we showed how to implement a multi-channel camera rig within the Unity 3D game engine, with an eye towards creating applications for dome projection systems. RENCI researcher Mike Conway has posted a C#/WPF application to allow the presentation of custom Unity content on the dome. Check it out!

The FullDome listing on Wikipedia offers a very good overview and history of fulldome systems, starting 1500 years ago and coming forward to the present day. The article shows the links between ancient dome-ceilinged places of worship and avant-garde art “happenings” in the 1960s in the USA. Also includes links to other information, tutorials and lots of other goodies. image-wiki-header

Read the rest of this entry

Mucus Flow Visualization

Published: Monday, July 13, 2009

A visualization of cilia-driven mucus flow developed by David Borland in collaboration with Brian Eastwood and Russ Taylor from UNC Computer Science and David Hill from the UNC Cystic Fibrosis Pulmonary Research and Treatment Center is being highlighted on the Computer Integrated Systems for Microscopy and Manipulation (CISMM) web page.

Dr. David Borland, a Senior Visualization Researcher at the RENCI@UNC Engagement Center, has several visualizations of airflow models of Manhattan featured in ‘American Scientist‘.

These visualizations were done in collaboration with Dr. Allen Huber with the Institute for the Environment at UNC.  RENCI has a short feature on the project that explains the goals of the research.

vtkMultiChannel-Python wrapping

Published: Monday, June 29, 2009

Just a quick update:  Python wrapping support has been added to the vtkMultiChannel library.  Now VTK code written in Python can be easily adapted to run in the Showcase Dome and TeleImmersion environments.

You can grab the code here.

vtkMultiChannel

Published: Monday, June 15, 2009

vtkMultiChannel is a library that makes it easier to render multiple views of a scene using the Visualization ToolKit (VTK), an open-source, freely available software system for data visualization.  One nice feature of vtkMultiChannel is that it uses a single vtkRenderWindow/vtkRenderWindowInteractor/vtkRenderer combo, so you don’t need to worry about making sure multiple renderers are synchronized.  This code makes it easier to set up rendering for systems such as our passive-stereo TeleImmersion environment, and our immersive Showcase Dome environment.

Currently, only Windows is supported, but it should be easy to add support for other operating systems.  Also, picking with the mouse is currently broken.  vtkMultiChannelRenderWindowManager enables flexible creation of multi-channel rendering, whereas vtkRenciRenderWindowManager is a subclass of vtkMultiChannelRenderWindowManager that makes it easy to set up rendering for the TeleImmersion and Showcase Dome environments, as well as the head-mounted display device in UNC Computer Science.

The code can be found hereCMake is use for set up.

OpenGL Sample Application for the Dome

Published: Monday, June 15, 2009

Here is a link to some sample OpenGL code to demonstrate how to render correctly for the Showcase Dome in ITS Manning.  Four 1400×1050 views of the scene (laid out in a 2×2 grid in a borderless window) must be rendered with specific fields of view and view directions.  This code should be relatively straightforward, and explain the basics of what it would take to add dome-rendering to your own code.

A teapot rendered for the dome.

A teapot rendered for the dome.

Molecular Visualization at RENCI@UNC

Published: Thursday, June 11, 2009

The visualization resources at the RENCI Engagement Center at UNC provide powerful tools to assist researchers interested in molecular visualization.  The Showcase Dome and the TeleImmersion Room provide complimentary views of complex structures, each environment enabling a unique perspective.

The Showcase Dome is particularly suited to placing researchers inside a space.  When standing in the dome, the structures and forms displayed extend to the peripheral vision of viewers, immersing them in their data.  The dome provides a much greater field of view than a traditional flat-screen monitor, enabling researchers to see details of a molecule in context with surrounding structures and turn their heads to ‘look around’ the space.

This example show a single image from a time-series of benzene rings interacting in a water solution.  Researchers are able to move inside the simulation space to obtain a better understanding of the spatial relationships of the individual benze rings.  This visualization was a collaboration between Dr. David Borland of RENCI, Dr. Chi-Duen Poon of ITS Research Computing, and Dr. Edward Samulski of the Department of Chemistry.

Benzene simulation displayed in the Dome

Benzene simulation displayed in the Showcase Dome. Click for larger image.

The TeleImmersion room is being regularly used for molecular visualization. This ulta-high resolution stereo display provides a different experience than the dome.  Rather than immersing researchers in a complex molecule, the Teleimmersion display is well-suited to views from outside a structure, and utilzes stereo to give a 3D view.  In viewing molecular structures, stereo helps researchers discriminate data that has depth.

In this example, the same benzine simulation is viewed in TeleImmersion.  Researchers are not ‘inside’ of the molecules, however the 3D stereoscopic view enables improved understanding of complex structures.  In these examples, the data is the same, and each environment provides a useful visualization. The ability to move between different environments can inspire creativity and spur new insights.

Benzene simulation in TeleImmersion

Benzene simulation in TeleImmersion. Click for larger image.

In TeleImmersion, one of the most used molecular visualization tools is PyMOL, which has been recently configured for the stereo environment.  Researchers can bring in .pdb files with data of interest and use TeleImmersion to get a detailed 3D stereoscopic view.

PyMOL running in TeleImmersion

PyMOL running in TeleImmersion. Click for larger image.

Note that these resources are available to UNC Researchers!  Please contact the RENCI@UNC Engagement Center to schedule access to the room.  Engagement Center staff are here to help you get started, and can work with you on your visualization needs.  We are located on the south campus of UNC, near the UNC Hospitals complex.

As a follow up, here is a zip with a small C# tool that allows you to open a Unity window at any resolution (up to 4096×4096 in our testing), including resolutions spanning multiple monitors.  Multiple monitor support is not currently supported by the Windows native viewer, and is necessary for environments like our dome.

Just fire up the executable (LaunchFS.exe), click the ? button to browse for the appropriate .unity3d file.  The app will create the .html file to launch your application with the appropriate settings.

Give it a try, feel free to send suggestions.

Notes:

  • Executable is in the bin/x86/Release directory
  • Max resolution is 4096×4096
  • Requires the .Net runtime 3.5 SP1 available from Microsoft.