Skip to content

Commit 8aaf14f

Browse files
author
Thorsten Bux
committed
Added more documentation regarding OSG and OpenGl
1 parent d114902 commit 8aaf14f

File tree

2 files changed

+94
-38
lines changed

2 files changed

+94
-38
lines changed

8_Advanced_Topics/build_artoolkit.md

Lines changed: 67 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -4,44 +4,71 @@
44
##Required Software / Source Packages
55
External dependencies for building ARToolKit from source include all the dependencies for building your own ARToolKit-based applications (as listed on page [Installing ARToolKit][about_installing] but also additional dependencies required to build the utilities and libraries. Where ARToolKit libraries require external DLLs, these are generally supplied with ARToolKit. Exceptions are listed below.
66

7-
- A supported compiler/IDE:
8-
- Windows: Microsoft Visual Studio 2013 and Microsoft Visual Studio 2010 SP1 are supported. The free Microsoft Visual Studio Express Edition will also work.
9-
- Mac OS X: Xcode tools v5.1.1 under Mac OS X 10.9 or later is required. Xcode 6 under Mac OS X 10.10 is recommended. These may be obtained free from [Apple][2].
10-
- Linux: GCC 4.4 is required. GCC 4.8 or later is recommended.
11-
- OpenGL
12-
- libjpeg
13-
- Windows/Mac OS X: libjpeg headers and libraries are supplied with ARToolKit.
14-
- Linux: install package libjpeg-dev.
15-
- GLUT - Required to build libARgsub and the utilities and examples.
16-
- libARgsub_lite provides equivalent functionality to libARgsub without requiring GLUT.
17-
- Windows: GLUT 3.7.6 is included with ARToolKit.
18-
- Mac OS X: included in OS.
19-
- Linux: GLUT should be available in your distribution (e.g. packages freeglut3-dev and xorg-dev). Otherwise, GLUT is included in the MESA 3D libraries: [1][3]
20-
- OpenCV - Required to build calib_camera.
21-
- Generally OpenCV headers and libraries are provided with ARToolKit.
22-
- On Linux you can choose between Clang and GNU compiler for building ARToolKit.
23-
- We recommend building ARToolKit with GNU gcc and g++ (answer fist question of the *configuration script* with no). In this case you need to install the OpenCV libraries manually `sudo apt-get install libopencv-dev`.
24-
- If you prefer building with Clang, then the OpenCV headers and libraries are provided with ARToolKit and you need to install libc++-dev. Be aware that libARosg and some examples are excluded from this build because per default OpenSceneGraph comes compiled with GNU. If you would like to use them you need to compile OpenSceneGraph with Clang and then build libARosg and the examples manually.
25-
- Video capture libraries.
26-
- Windows: By default, on Windows ARToolKit's video library (libARvideo) uses Microsoft's DirectShow libraries. Unfortunately, this requires installation of the DirectX SDK and either the Windows SDK or the DirectShow package from the Microsoft Platform SDK to compile libARvideo. Please see the separate page [Building libARvideo][4]. Alternative video sources on Windows include:
27-
- QuickTime, either using the VideoDigitizer or movie files or streams. Please see the separate page [Building libARvideo][4].
28-
- [Thomas Pintaric's DSVideoLib][6], which was the default video source for ARToolKit v2.x, is now LGPL licensed and may be used in proprietary software.
29-
- Point Grey's flycapture SDK (only for use with Point Grey Cameras).
30-
- Canon's HDCam64 camera control library (Canon HDCam64 users only).
31-
- Mac OS X: QuickTime v6.4 or later is required, and is included in all versions of Mac OS X \> 10.3. For systems with QuickTime 7 or later, QTKit is also used.
32-
- Linux: Video4Linux, lib1394dc, or GStreamer is required. The corresponding packages required to be installed in your package manager are "libv4l2-dev" or "libv4l-dev", "libdc1394-22-dev" (for lib1394 version 2.x) or "libdc1394-13-dev" (for lib1394 version 1.x), and "libgstreamer0.10-dev".
33-
- OpenVRML (optional) - The ARToolKit VRML renderer requires the OpenVRML SDK.
34-
- Windows: OpenVRML-0.16.6 or later (for Visual Studio 2005) must be on the include and library path to rebuild ARvrml.lib. Suitable binaries of OpenVRML for Windows can be downloaded [here][7].
35-
- Mac OS X: OpenVRML should be installed using the [Fink][8] packagemanager. Once fink is installed, the required command to install OpenVRML is `fink -b install openvrml6-dev openvrml-gl6-dev`. Alternately, a Universal binary build of OpenVRML-0.16.6 suitable for inclusion in application bundles can be downloaded from [here][9].
36-
- Linux: Binary deb packages are available from [here][10].
37-
- OpenSceneGraph (required for building examples) - The ARToolKit OSG renderer requires OpenSceneGraph.
38-
- OSG version 2.6 or later is required, version 2.8.2 is recommended.
39-
- Windows: ARToolKit supplies binaries of [OSG 3.0.1][11]
40-
- Mac OS X: ARToolKit supplies binaries of [OSG 3.2.2][12]
41-
- ARToolKit uses the [environment variable][setting_env] OSG_ROOT to find your OpenSceneGraph installation:
42-
- Mac OS X: OSG_ROOT=/Library/Frameworks
43-
- Windows: OSG_ROOT=<Path to where you extracted OSG file to>
44-
- Linux: OpenSceneGraph is available as a package for most Linux distributions (e.g. package libopenscenegraph-dev).
7+
###A supported compiler/IDE
8+
- Windows:
9+
- Microsoft Visual Studio 2013 and Microsoft Visual Studio 2010 SP1 are supported.
10+
- The free Microsoft Visual Studio Express Edition will also work.
11+
- Mac OS X:
12+
- Xcode tools v5.1.1 under Mac OS X 10.9 or later is required.
13+
- Xcode 6 under Mac OS X 10.10 is recommended. These may be obtained free from [Apple][2].
14+
- Linux:
15+
- GCC 4.4 is required. GCC 4.8 or later is recommended.
16+
17+
###OpenGL
18+
- Windows: OpenGL is provided as part of your graphic card diver.
19+
- Mac OS X: OpenGL is part of your OS X system.
20+
- Linux: Install `libgl1-mesa-dev` in order to be able to build ARToolKit.
21+
22+
###libjpeg
23+
- Windows/Mac OS X: libjpeg headers and libraries are supplied with ARToolKit.
24+
- Linux: install package libjpeg-dev.
25+
26+
###GLUT
27+
Required to build libARgsub and the utilities and examples.
28+
Note: libARgsub_lite provides equivalent functionality to libARgsub without requiring GLUT.
29+
30+
- Windows: GLUT 3.7.6 is included with ARToolKit.
31+
- Mac OS X: included in OS.
32+
- Linux: GLUT should be available in your distribution (e.g. packages freeglut3-dev and xorg-dev). Otherwise, GLUT is included in the [MESA 3D libraries][3] (e.g. libgl1-mesa-dev)
33+
34+
###OpenCV - Required to build calib_camera.
35+
Generally OpenCV headers and libraries are provided with ARToolKit.
36+
37+
- On Linux the provided OpenCV libraries are build using Clang compiler. Using `./Configuration make` to build you have the option to choose between Clang and GNU compiler for building ARToolKit.
38+
39+
- GNU: We recommend building ARToolKit with GNU gcc and g++ (answer fist question of the *configuration script* with **no**). GNU is recommended because the OpenSceneGraph libraries provided by the package manager of your distribution are also build with GNU. However this leads to the result that you need to install the OpenCV libraries manually `sudo apt-get install libopencv-dev`.
40+
- Clang: If you prefer building with Clang, then the OpenCV headers and libraries are provided with ARToolKit and you need to install `libc++-dev`. Be aware that libARosg and some examples are excluded from this build because per default OpenSceneGraph comes compiled with GNU. If you would like to use them you need to compile OpenSceneGraph with Clang and then build libARosg and the examples manually.
41+
42+
###Video capture libraries.
43+
- Windows: By default, on Windows ARToolKit's video library (libARvideo) uses Microsoft's DirectShow libraries. Unfortunately, this requires installation of the DirectX SDK and either the Windows SDK or the DirectShow package from the Microsoft Platform SDK to compile libARvideo. Please see the separate page [Building libARvideo][4]. Alternative video sources on Windows include:
44+
- QuickTime, either using the VideoDigitizer or movie files or streams. Please see the separate page [Building libARvideo][4].
45+
- [Thomas Pintaric's DSVideoLib][6], which was the default video source for ARToolKit v2.x, is now LGPL licensed and may be used in proprietary software.
46+
- Point Grey's flycapture SDK (only for use with Point Grey Cameras).
47+
- Canon's HDCam64 camera control library (Canon HDCam64 users only).
48+
- Mac OS X: QuickTime v6.4 or later is required, and is included in all versions of Mac OS X \> 10.3. For systems with QuickTime 7 or later, QTKit is also used.
49+
50+
- Linux: Video4Linux, lib1394dc, or GStreamer is required. The corresponding packages required to be installed in your package manager are:
51+
- libv4l2-dev or libv4l-dev
52+
- libdc1394-22-dev (for lib1394 version 2.x) or libdc1394-13-dev (for lib1394 version 1.x)
53+
- libgstreamer0.10-dev
54+
55+
###OpenVRML (optional)
56+
If you would like to work with 3D models which are represented in a Virtual Reality Modeling Language (VRML) file then you need to install the OpenVRML SDK in order for ARToolKit to be able to render them. All the source code related to VRML is located in the ARvrml.lib.
57+
58+
- Windows: OpenVRML-0.16.6 or later (for Visual Studio 2005) must be on the include and library path to rebuild ARvrml.lib. Suitable binaries of OpenVRML for Windows can be downloaded [here][7].
59+
- Mac OS X: OpenVRML should be installed using the [Fink][8] packagemanager. Once fink is installed, the required command to install OpenVRML is `fink -b install openvrml6-dev openvrml-gl6-dev`. Alternately, a Universal binary build of OpenVRML-0.16.6 suitable for inclusion in application bundles can be downloaded from [here][9].
60+
- Linux: Binary deb packages are available from [here][10].
61+
62+
###OpenSceneGraph (OSG)
63+
In general you can find information about OpenSceneGraph (OSG) and what it does on their [website][13]. ARToolKit uses some of the features provided by OGS [14]. All these features are available using the ARogs.lib.
64+
In general you need to install OSG on Mac and Windows when you like to build the complete ARToolKit project. On Linux you can choose in the `./Configure` step if you would like to use OSG. ARToolKit requires version 2.6 or later, version 2.8.2 is recommended.
65+
66+
- Windows: ARToolKit supplies binaries of [OSG 3.0.1][11]
67+
- Mac OS X: ARToolKit supplies binaries of [OSG 3.2.2][12]
68+
- ARToolKit uses the [environment variable][setting_env] OSG_ROOT to find your OpenSceneGraph installation:
69+
- Mac OS X: OSG_ROOT=/Library/Frameworks
70+
- Windows: OSG_ROOT="Path to where you extracted OSG files to"
71+
- Linux: OpenSceneGraph is available as a package for most Linux distributions (e.g. package libopenscenegraph-dev).
4572

4673
##Compiling ARToolKit
4774

@@ -100,3 +127,5 @@ simpleLite can be launched from a terminal window thus:
100127
[10]: http://www.openvrml.org/
101128
[11]: http://www.artoolkit.org/dist/3rdparty/openscenegraph/3.0.1/
102129
[12]: http://www.artoolkit.org/dist/3rdparty/openscenegraph/3.2.x/
130+
[13]: http://www.openscenegraph.org/
131+
[14]: 8_Advanced_Topics:osg_usage

8_Advanced_Topics/osg_usage.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
##OpenSceneGraph (OSG) usage
2+
ARToolKit can use OpenSceneGraph to render 3D scenes. Access to OSG features are facilitated by the ARosg.lib component of the ARToolKit SDK. ARosg.lib is linked against OSG binaries. ARToolKit examples like simpleOSG use the ARosg.lib library to access OSG functions.
3+
4+
ARToolKit currently uses the following OSG functions:
5+
6+
- Load/Unload an OSG model
7+
- Show/Hide an OSG model
8+
- Draw an OSG model
9+
- Enable/Disable lighting
10+
- Enable/Disable transparancy
11+
- Pause/Resume the animation
12+
- Set the projection matrix of an OSG model
13+
- Set front facing polygones (counter-clockwise (default) or clockwise)
14+
- Read/Set model pose (model-view matrix)
15+
- Read/Set local model pose (transformation matrix)
16+
- Enable/Disable 2D outlining of model boundary
17+
- Determination if a model is intersected by a line segment
18+
- Handle window reshape events
19+
- Handle mouse and keyboard interactions
20+
21+
###Models with animation
22+
23+
- Read the animation time from the model
24+
- Reset the animation
25+
- Set the looping mode of an animation (0=disable, 1=loop, 2=swinging)
26+
27+
Detailed information can be found in the source code documentation of ARosg see `ARTOOLKIT_ROOT/doc/apiref/arosg_h`.

0 commit comments

Comments
 (0)