Difference between revisions of "CalVR"

From Immersive Visualization Lab Wiki
Jump to: navigation, search
(Building CalVR)
Line 37: Line 37:
 
  -L/home/hwang/CalVR/externs/osg/lib -losgFXrd -losgParticlerd -losgTextrd -losgSimrd -losgGArd -losgViewerrd -losgDBrd -losgShadowrd -losgUtilrd -lOpenThreadsrd -ldl
 
  -L/home/hwang/CalVR/externs/osg/lib -losgFXrd -losgParticlerd -losgTextrd -losgSimrd -losgGArd -losgViewerrd -losgDBrd -losgShadowrd -losgUtilrd -lOpenThreadsrd -ldl
  
Note that many -losg*rd inputs, where are different than the IVL OSG_LIBRARIES, with extra "rd" tails (release and debug). In some configuration the libraries do no have "rd" tailing.
+
Note that many -losg*rd inputs, where are different than the IVL OSG_LIBRARIES, with extra "rd" tails (release and debug). In some configurations the libraries may no have "rd" tailing.
  
 
You may also turn on PLUGINS->PLUGINS_CALIT to build your plugin at the same time.
 
You may also turn on PLUGINS->PLUGINS_CALIT to build your plugin at the same time.

Revision as of 15:02, 22 November 2010


Contents

This page is working in Progress



Overview

This page talks about adding a new plugin for CalVR, starting from building OSG and CalVR from source. You need cmake to build OSG, CalVR and your plugins.

Building OSG

Developer release of OSG can be found here

Assume the unpacked directory is osg/, and cmake/bin/ is in the path, in osg/ run ccmake:

ccmake .

It turns into a terminal interface of cmake config for osg.

In CMAKE_BUILD_TYPE, press Enter to edit the field, type in one of the options that with debug information: RelWithDebInfo

press 'c' to configure, press 'g' to generate. and 'q' to quit. Now back to osg/, just type make to build. It takes quite a while to build.

Building CalVR

Make sure CalVR Dependencies(OSG, MXML, GLEW) are in the environment variables. If not, set them in .cshrc, for example, adding OSG in the environment, add this line at the ned of .cshrc:

setenv OSG_HOME ~/osg/


Run cmake/bin/cmake-gui, let CalVR/ be both the source and binaries

click Configure, select Unix Makefile, and it should show a configuration list for CalVR

Navigate to OSG-->OSG_LIBRARY, if it is NOTFOUND, you may need to point it to your osg/lib, this is an example input:

-L/home/hwang/CalVR/externs/osg/lib -losgFXrd -losgParticlerd -losgTextrd -losgSimrd -losgGArd -losgViewerrd -losgDBrd -losgShadowrd -losgUtilrd -lOpenThreadsrd -ldl

Note that many -losg*rd inputs, where are different than the IVL OSG_LIBRARIES, with extra "rd" tails (release and debug). In some configurations the libraries may no have "rd" tailing.

You may also turn on PLUGINS->PLUGINS_CALIT to build your plugin at the same time.

click Generate, when it is done, you may exit the gui.

In CalVR folder, type make to build.

Runing CalVR

Before runing CalVR you need to add osg/lib into your LD_LIBRARY_PATH in .cshrc

Add an environment variable to .cshrc, for example:

setenv CALVR_HOME /home/hwang/CalVR/

The entrance program is in CalVR/bin/CalVR

Adding a plugin for CalVR

Take CalVR/plugins/calit2/ModelLoader as a start up example:

Make a new Copy of the ModelLoader folder, rename it to ExamplePlugin. Each directory hierarchy has files "CMakeLists.txt" and "cmake_install.cmake". In order for cmake to generate a make file for the new plugin, we need to add an entry to these cmake files in the parent directory, and modify the cmake files in the new plugin directory.

Under parent directory, say CalVR/plugins/calit2/CmakeLists.txt, add the following lines:

OPTION(PLUGIN_EXAMPLEPLUGIN "ExamplePlugin" ON)
IF(PLUGIN_EXAMPLEPLUGIN)
 ADD_SUBDIRECTORY(ExamplePlugin)
ENDIF(PLUGIN_EXAMPLEPLUGIN)

Under parent directory, say CalVR/plugins/calit2/cmake_install.cmake, find:

IF(NOT CMAKE_INSTALL_LOCAL_ONLY)

add the following line (change to absolute path):

INCLUDE("~/CalVR/plugins/calit2/ExamplePlugin/cmake_install.cmake")

Under new plugin directory you may remove the CMakeFiles folder as well as the old Makefile which were copied from ModelLoader. There should be only two source files and two cmake files left. Modify these files to adapt the new plugin's name.

Launch cmake, delete the cache if necessary, configure and generate again. Note that under the PLUGINS entry, the calit2 checkbox should be on, and you should be able to find your new plugin name under PLUGIN along with the ModelLoader.

Go back to the plugin directory, the new Makefile should have been generated. Type make to build.

Now we need to modify the CalVR/config/config.xml to turn on the new plugin. We can search for ModelLoader and add the exact lines to config.xml, and modify the names to the new plugin's name. Now run CalVR, in the terminal we should see the init message of the new plugin.