Overview
vgSDK, a shortcut for Versatile Graphical Software Development Kit,
consists of a set of cross-platform C++ libraries
which provides a complete framework for doing graphical related tasks.
This library is
free software; you can redistribute it and/or modify it under the terms of the
GNU Lesser General Public
License as published by the Free Software Foundation; either version 2.1 of the License,
or any later version.
Details
Here is a raw description of vgsdk features and structure.
Core Components
- vgBase: standard typedefs, definitions and includes
to deal with compiler or platform configurations issues
- vgm(ath): basic linear algebra and geometry
- vgd(ata): the data repository stored in a scene graph
- vgDebug a simple logging system
Algorithms
- vgAlg(orithm): a collection of algorithms that could be applied
on a node of the scene graph (compute topology from a triangle set)
Images
- vgCairo: bridge to cairo 2D graphics library
- vgITK: bridge to ITK library providing data representation
and algorithms for performing segmentation and registration
- vgOpenIL: image class implemented using OpenIL
Currently this library is included in core/vgd component
- Planned: vgOpenIL, vgOpenEXR
Inputs & Outputs
- vgTrian: .trian and .trian2 3D model readers and .trian writer
- Autodesk/3DSMax: .trian importer/exporter and .trian2 exporter (for
version 7.x and 9.x)
- Planned: vgCollada
- Images could be read and write using Images components. PNG is supported by vgCairo,
vgITK and vgOpenIL. DICOM, JPEG, VTK and TIFF are supported by ITK. For additionnal informations, see
the documentation of each component.
Engines
- vge: evaluation of scene graph
- vgeGL: evaluation/rendering of scene graph with OpenGL
User Interface
- vgUI: Cross-platform interface to OpenGL windows
- vgGTK: gtk+ and gtkmm
based specialization of vgUI and user interface building blocks
- vgWX(idgets): several specialization of wxWidgets
OpenGL canvas to provide vgsdk canvas, viewer and manipulator
- Planned: vgUI(done), vgGTK (or vgGTKmm) (done) and vgSDL
Contributions
- vgEgg: an incubator for external contributions
Examples
- Tutorials: BasicGL (simple wxWidgets OpenGL sample), BasicVGSDK (simple wxWidgets vgsdk
sample)
- vgsdkViewer: a simple viewer of .trian and .trian2 files
- Planned: a basic testing system to check coherency, non-regression and performance.
Each test could be used to fill an howto.
- …
External dependencies
- glContext: a library providing the needed cross-platform API to add OpenGL capabilities to any user interface toolkits (gtk/gtkmm, wxWidgets, qt and so on)
- gle: OpenGL extension loader
- glo: encapsulate OpenGL object into easy to
use classes
- SConsBuildFramework: a build system construct using SCons and Python
- boost: free peer-reviewed portable C++ source
libraries
- OpenIL a simple image library
- cairo a 2D graphics library
- ITK: a library providing data representation and
algorithms for performing segmentation and registration
- OpenGL: the cross-platform graphical API
- The COLLADA Document Object Model (DOM)
: an API that provides a C++ object representation of a COLLADA XML instance document
- gtk+: GTK+ is a highly usable, feature rich toolkit for creating graphical user interfaces which boasts cross platform compatibility and an easy to use API
- gtkmm: gtkmm is the official C++ interface of gtk+
- wxWidgets: a cross-platform toolkits for user
interfaces and more
Download
Not available yet…
Getting Involved
Bug Tracking & Support Requests
There are two online pages available for
bug reports
and support requests.
Submiters should not forget to supply a valid email address in order to receive updates.
Project Details & Revision Control
The project page
(hosted by Gna!)
holds detailed informations about developments.
Source code is not available yet…
Documentation