Jump to content

Visualization Library

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Margitsziget (talk | contribs) at 22:45, 10 June 2008 (Created page with '{{ infobox software | name = Visualization Library | genre = 3D graphics | latest_release_version = Alpha 1 | operating_system = Cross-platform | license = ...'). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
Visualization Library
Stable release
Alpha 1
Operating systemCross-platform
Type3D graphics
LicenseGNU GPL 3
Websitehttp://www.visualizationlibrary.com

Visualization Library is an open source C++ middleware for 2D/3D graphics applications based on OpenGL 2.1, designed to develop portable applications for the Windows XP, Windows Vista and Linux/X11 operating systems.

Design

Visualization Library has been designed with two main purposes:

  1. Distilling the experience of well-known 3D graphics engines such as Performer, OpenSceneGraph, OGRE3D, VTK, Renderware, Unreal Engine in a light, portable and user friendly solution.
  2. Implementing an intuitive and thin C++ wrapper around OpenGL 2.1.

From the technical point of view Visualization Library is a scene-graph oriented 3d graphics engine with some notable characteristics that make Visualization Library stay somehow at the edge of the scene-graph family:

  1. The scene-graph is actually a plain shader-tree and its nodes have the sole purpose of defining the aspect of the objects in the scene.
  2. The matrix transform tree is independent from the shader-tree.
  3. The scene-graph is implemented as a DAG (Directed acyclic graph) but is used most of the time as a simple tree (Tree (graph theory)), this simplifies the architecture and makes the library's collision and culling system much easier to extend with ad-hoc techniques.
  4. The scene-graph doesn't carry spatial information about the objects in the scene, instead such information can be kept externally using Kd-trees, BSP trees, Potentially visible sets, Portal rendering techniques and so on, since they are much more efficient then a generic scene-graph when performing Hidden surface determination and Collision detection (at the moment Visualization Library provides an AABB/Kd-tree system to be used out of the box for culling and collision detection).

Key Features

  • C++ thin wrapper around OpenGL 2.1
  • OpenGL Shading Language 1.20 support
  • Frame Buffer Objects
  • Multiple render targets
  • Render to texture
  • Multiple cameras and rendering pipelines
  • Vertex Buffer Objects
  • AABB/Kd-tree based frustum culling
  • Accelerated rendering via render state sorting and lazy update
  • Automatic transparency management
  • C++ math library based on the OpenGL Shading Language conventions
  • Billboards
  • FreeType and Unicode multilingual text rendering engine
  • Texturing: multi-texturing, anisotropic filtering, mipmapping, 1D/2D/3D textures, cubemaps, texture combiners, automatic texture coordinate generation
  • LOD: geometrical LOD, shader LOD
  • Multipassing

Development Status

Visualization Library has been released to the public for the first time on May 7th 2008 as Visualization Library Alpha 1. The release includes full source code, demos, tests, project and make files and some basic documentation. The Alpha 2 release is expected to be available by July and will focus on enhancing Visualization Library's interoperability with third party GUI frameworks (Qt, Win32, Windows Forms) and file formats (COLLADA and OBJ).

According to the official website the first stable release of Visualization Library will be available by the end of 2009 / beginning of 2008 under the name of Visualization Library Lite.

See Also