libQGLViewer features
Most of these functionalities are illustrated by an example, that is referenced by the
Main features
- A camera trackball to easily move the camera in the scene (explorer or fly mode)

- Definition of a intuitive world coordinates system (aka the OpenGL modelView matrix made easy)

- Coordinate systems (and hence objects) can easily be moved with the mouse

- Hierarchical coordinate systems (frames), with functions to convert from a frame to any other

- KeyFrameInterpolator to animate those frames, the camera being one of them

- Simple object selection using the mouse

- Screenshot saving at arbitrary sizes and in different file formats (jpg, png, bmp...), including vectorial rendering (eps, ps, xfig)

- Complete and entirely customizable keyboard shortcuts and
mouse behavior

and also...
- Many simple examples illustrating the different functions

- A complete reference documentation

- Display of the frame rate, of a world axis, of a 2D grid and of camera paths, full screen display...

- Easy drawing of text directly in screen coordinate system (2D overlay) or in 3D

- Extendable displacement constraints that can be applied on frames

- Viewer state is saved and can be restored at each application start

- A simplified drawing function can be provided to guarantee interactivity, even with large scenes

- The possibility to mix 3D and 2D drawing, with intuitive pixel coordinates

- Animation of the scene at a given frame rate

- Stereo display when hardware supports it

- State of the art implementation of the basic
Vec, Quaternion
and Frame
classes

- Copy buffer to texture function
- Customizable help window

Philosophy
Classical 3D viewer features are directly available, so that you can quickly start the development of a new application, focussing on what is drawn instead of how
to make your software draw it.
All these functions are very easy to use. Adding code to select scene
objects and then manipulate them using the mouse can be done in 5 minutes.
See the different examples to get a more precise idea.
Send an email if you think of
a new feature.
Last modified on Thursday, December 29, 2022.