Difference between revisions of "CalVR"
(→Building CalVR) |
(→Overview) |
||
Line 8: | Line 8: | ||
== Overview == | == Overview == | ||
− | This page talks about adding a plugin | + | This page talks about adding a new plugin for CalVR, starting from building OSG and CalVR from source. You need [http://www.cmake.org/cmake/resources/software.html cmake] to build OSG, CalVR and your plugins. |
== Building OSG == | == Building OSG == |
Revision as of 16:39, 19 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.
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.