Visualization Library

A lightweight C++ OpenGL middleware for 2D/3D graphics
[Home] [Tutorials] [All Classes] [Grouped Classes]

Introduction

Welcome to Visualization Library!

Visualization Library has been developed by Michele Bosi. He can be contacted at:

Visualization Library is a C++ middleware for high-performance 2-3D graphics applications based on the industry standard OpenGL 2.1, designed to develop portable applications for the Windows, Linux and Mac OS X operating systems.

Visualization Library can be used to develop applications for 2D and 3D scientific visualization (material sciences, geosciences, oil and gas exploration etc.), civil and military training and simulation, virtual reality, augmented reality, visual simulation, plotting, data mining and visualization, presentations, multimedia applications, special effects, 2D and 3D games and so on.

Visualization Library is not a pre-packaged rendering engine or a game engine, as this would limit its scope. Visualization Library has been designed to be a fine-grained platform upon which highly-specialized 3D graphics applications can be effectively developed. Instead of abstracting the user from the underlying OpenGL API, Visualization Library stays as close as possible to it and defines a very thin high-performance layer on top of it. The result is that many OpenGL functions and features have a 1 to 1 mapping to Visualization Library's classes. You can think of Visualization Library as a toolkit that provides you with the power and flexibility of OpenGL within a light and user friendly C++ object oriented framework. If you need a simple, flexible, portable and fast 3d graphics platform that can be quickly integrated in your applications then you should consider using Visualization Library.

If you would like to be notified of the latest developments, events and news regarding Visualization Library subscribe to Visualization Library Newsletter.

Do not forget to check out also our Twitter page at http://twitter.com/VizLibrary.

Visualization Library Design Key Features and Goals

Being a thin wrapper around OpenGL, Visualization Library not only provides the developer with a generic, fast and light 2-3D framework suitable for multiple purposes but also exposes the programmer to a familiar framework. In fact, most of the OpenGL mechanisms are mapped in an intuitive way to Visualization Library's API, maximizing the value of the OpenGL developer's experience and know-how.

Visualization Library's core architecture is based on technologies such as OpenGL Shading Language, Framebuffer Objects, Multiple Render Targets, Geometry Shaders, Pixel and Vertex Buffer Objects etc. while at the same time retains full compatibility with OpenGL 1.1 class hardware.

Many legacy features like accumulation buffer, edge flags, indexed rendering, immediate mode, feedback mode, picking mode etc. have been removed in order to keep Visualization Library as simple as possible and to guarantee that only the optimal rendering paths are used. Special attention has been paid in order to make Visualization Library's design neater and closer to OpenGL ES and OpenGL 3.x principles. Note that at the moment Visualization Library fully supports OpenGL 2.1 plus most of the extensions included in OpenGL 3.x. Support to OpenGL 3.x and OpenGL ES will be available in the future.

Like OpenGL, Visualization Library does not depend or rely on any GUI library. It is the user's responsibility to provide an adequate OpenGL context on which Visualization Library operates. However, several utility GUI bindings (Qt4, MFC, Win32...) are provided to further simplify the development process.

Like OpenGL, Visualization Library does not provide any special multithreading commands/classes or a multithreading library. It is the user's responsibility to take care of the various aspects involved in the development of a multithreaded or distributed application. However, Visualization Library have been designed to minimize multithreading-related issues as much as possible. If you are interested in the topic you might want to use Visualization Library in conjunction with the following: Intel® Threading Building Blocks, VR Juggler, Chromium.

Short Feature List

And much more... see Features Overview for a complete overview of Visualization Library's features.


Visualization Library v2010.06 Reference Documentation
Copyright 2005-2009 Michele Bosi. All rights reserved.
Updated on Tue Jun 1 00:57:09 2010.
Permission is granted to use this page to write and publish articles regarding Visualization Library.