This repository contains a widget based on QOpenGLWidget
that is able
to wrap a viewer from the OpenSceneGraph library.
This makes it possible to combine both toolkits in a thread-safe manner.
Moreover, the widget demonstrates several interaction mechanisms:
- Rectangular selection processing
- Pick handling
- Node file writing (for debug purposes)
- Linux or MacOS X (see below for a brief discussion on supporting Microsoft Windows)
- A recent C++ compiler with support for C++11
CMake
(minimum version 2.8.11)Qt5
OpenSceneGraph
I am not familiar enough with graphics programming for Microsoft Windows to fully support this as a target platform. In issue 7, it was briefly discussed that some modifications are required for QtOSG to fully compile/work under Microsoft Windows. If you want to target this platform, I would be glad for the help!
$ git clone https://github.com/Submanifold/QtOSG
$ cd QtOSG
$ mkdir build
$ cd build
$ cmake ../
$ make
Additional build options can be configured by issuing ccmake .
in the
build directory. In particular, you can toggle the following options:
WITH_PICK_HANDLER
: toggle to compile with/without support for point pickingWITH_SELECTION_PROCESSING
: toggle to compile with/without support for rectangular selections
The demo application merely demonstrates basic usage of the widget.
Don't expect too much! Start the application by issuing ./qtosg
in the
build directory.
The following key bindings are active:
d
: writes the current scene graph to/tmp/sceneGraph.osg
h
: resets the view to homes
: toggles selection processing (if compiled); if active, hold left mouse button down to draw a selection rectangle; selected objects will be shown on the console
Please see the contribution guidelines for more information.
QtOSG
uses the MIT licence. Pleas see the file
LICENSE.md in the main directory of the repository for
more information.