Visualization Library 2.0.0

A lightweight C++ OpenGL middleware for 2D/3D graphics

VL     Star     Watch     Fork     Issue

[Download] [Tutorials] [All Classes] [Grouped Classes]
Changelog
Visualization Library 2.0

Visualization Library 1.0.2

Visualization Library 1.0.1

Visualization Library 1.0.0

Visualization Library 2011.09.1168

Visualization Library 2011.09.1166

Visualization Library 2011.09.1164

Visualization Library 2011.09.1162

Visualization Library 2011.09.1160

Visualization Library 2011.09.1160 RC4

Visualization Library 2011.09.1160 RC3

Visualization Library 2011.09.1160 RC2

Visualization Library 2011.09.1160 RC1

Visualization Library 2011.05.1144 (maintenance release of VL 2011.05.1142)

Visualization Library 2011.09.1157

Visualization Library 2011.09.1155

Visualization Library 2011.07.1153

Visualization Library 2011.07.1151

Visualization Library 2011.05.1142

Visualization Library 2011.05.1140

Visualization Library 2011.05.1140 RC4

Visualization Library 2011.05.1140 RC3

Visualization Library 2011.05.1140 RC2

Visualization Library 2011.05.1140 RC1

Visualization Library 2011.04.1135

Visualization Library 2011.02.1133

Visualization Library 2010.12.1129

Visualization Library 2010.12.1127

Visualization Library 2010.11.1125

Visualization Library 2010.11.1123

Visualization Library 2010.11.1121

Visualization Library 2010.11.1119

Visualization Library 2010.10.1115

Visualization Library 2010.10.1111

Visualization Library 2010.10.1107

Visualization Library 2010.10.1099

Visualization Library 2010.06.1000

Visualization Library 2009.08.812

Visualization Library 2009.08.804

Visualization Library 2009.08.802

Visualization Library 2009.08.800

Visualization Library 2009.07.640

Visualization Library 2009.07 RC3

Visualization Library 2009.07 RC2

Visualization Library 2009.07 RC1

Visualization Library 2009.07 Beta 2

Visualization Library 2009.07 Beta 1

Visualization Library Alpha 3.2.440

Visualization Library Alpha 3.1.300

Visualization Library Alpha 3.0.291

Visualization Library Alpha 3.0.290

RESOURCE IO
  • JPG file format support for both load and save.
  • PNG file format support for both load and save.
  • Plug-in based ResourceLoaderWriter system. Now you can load and write any resource including 3d files and images using the methods LoaderWriterManager::loadResource()/writeResource(). The appropriate ResourceLoaderWriter will be picked up and used for the specified file type. You can register your own ResourceLoaderWriter to support more file formats or to overried existing ResourceLoaderWriter too!
  • Image: new methods convertType() and convertFormat() to convert images from/to all the OpenGL 1.1 type/format combinations! For example you can convert an IT_FLOAT/IF_RGBA to a IT_UNSIGNED_SHORT/IF_LUMINANCE image! In this case the image is also automatically converted from rgb to gray scale! The alpha channel is also retained when possible.
  • Image: new methods sampleLinear() and sample() to perform nearest-point or bilinear filtering sampling of an image. This functions support all the OpenGL 1.1 standard image type/format combinations too. This functions can be used to retrieve the color of a pixel, the height of a heightmap or to perform collision detection on a heightmap.
  • Image: new method subImage() returns a new image containing the specified rectangular pixel area taken from the source image. Also this function supports all the OpenGL 1.1 image type/format combinations!
  • Image::makeColorSpectrum() function: creates an 1D image filled with the specified color spectrum.
  • Image: new methods substituteColorRGB_RGB(), substituteColorRGB_RGBA(), and substituteColorGreenKey() to substitute colors and colorize an Image.
  • All file loaders and writers now use the VirtualFile interface
  • Added write support to DiskFile class.
  • Image loader/writers divided into their own modules: vlPNG, vlJPG, vlTIFF, vlTGA, vlBMP, vlDDS, vlDAT.
  • 3D file loader/writers divided into their own modules: io3DS, ioOBJ, ioAC3D, ioPLY, ioMD2.
  • Autodesk 3DS loader class cleaned and exposed in the vl3DS module to be directly used or enhanced by the user.
  • Simplified/unified render states management: RenderStates, ClipPlanes, Light, TextureUnit.
  • New more flexible texture render states: TexGen, TexEnv, TextureMatrix.
  • Lazy allocation of RenderStateSet, EnableSet, UniformSet: uses less memory and object creation/deletion is much quicker.

GEOMETRY
  • GPUBufferInterfaceAbstract new methods: computeBoundingBox(), computeBoundingSphere(), transform() and normalize(). Now you can perform all this operations in a GPU-buffer-type-and-layout agnostic way!
  • Geometry primitives quality updates: uses quads instead of triangles when possible, topological fixes for better normal computation.
  • Geometry primitives: draw elements commands minimized and optimized.
  • Geometry::computeNormals() now supports all vertex formats and layouts!
  • Geometry::computeNormals() now supports all the main primitive types: triangles, triangle fan, polygon, quads, tri strips, quad strips!
  • Geometry::shrinkDrawElements() bug fixes.

DEMOS/TESTS
  • New demo App_VectorGraphics showing how to use VectorGraphics and VectorGraphicsScene.
  • New demo App_Terrain using the Terrain scene manager.
  • New test/demo App_Lights: shows how to implement moving colored lights like spot-lights, directional lights, point lights, lights following the camera.
  • App_VolumeRendering enhanced: allows drag&drop of volume data and the energy threshold can be interactively adjusted with the mouse wheel.
  • New demo App_GLSLImageProcessing: shows how use GLSL to implement some image processing effects.
  • New demo App_Deformer: shows how to implement a 2D application that loads an image and let the user interactively deform it!
  • New demo App_Fractals: a GPU accelerated interactive fractal navigator!
  • App_ModelViewer demo enhanced: massive code cleanup; camera centers the view to the model; automatic near/far clipping planes adjustment, nicer trackball panning and zooming.
  • New App_VertexFormat: shows several ways to layout vertex data and. how to use it in VL. VL support data layout in both Structure-Of-Array. and Array-Of-Structures form, spanning a single or multiple buffers!
  • New test App_ImageFunctions: tests image type/format conversion, nearest and bilinear sampling, loading and saving in JPG, PNG, TGA, TIFF formats.
  • MorphingActor test simplified and enhanced to show multiple animations.
  • App_Texturing test: now is a unified test checking 2D textures, 3D textures, 1D texture arrays, 2D texture arrays, texture rectangle, cubemap environment mapping, sphere mapping.

MISC
  • CMake building: many optional modules to minimize compilation time and library size.
  • Support to the GL_ATI_texture_float extension for backwards compatibility.
  • OpenGLContext's non-continuous update is much more CPU friendly.
  • Uniform setup bug fixes and performance enhancements.
  • GLSLProgram now can also have its own "static" Uniforms.
  • VL containers use the "at()" semantics to stay closer to the STL look'n'feel.
  • Bounding sphere and bounding box management: simplified, enhanced, bug fixes.
  • Scene managers bounding sphere, bounding box, and culling: now the rendering is able to optionally cull whole scene managers.
  • Current-lod property made a render-time transient variable.
  • Better definition and splitting of non-const and const rendering operations.
  • get/goc semantics for Shaders and Uniforms: a method starting with "get" will never create the object requested, methods starting with "goc" (= get-or-create) will create the resource if it doesn't exist.
  • Qt4, SDL, Win32 keyboard management fixes when pressing keys like CTRL.
  • Text: fix when rendering empty lines.
  • Text: 2d text now can seamlessly interact with 3D objects and be rendered. in front or behind the other 3D objects.
  • Actor z-sorting now works also when the bounding box is null.
  • Added support to glStencilOpSeparate().
  • Added support to glStencilFuncSeparate().
  • Added support to glStencilMaskSeparate().
  • Added the new Clear class (Renderable) to clear buffers during the rendering.
  • Removed deprecated camara/viewport binding to OpenGLContext.
  • New Scissor class: scissor clipping support for Actors, Effects and vector graphics. The Scissor class lets you define a rectangular aread clipped against the Viewport within which the rendering will be performed.
  • New RectI and RectF classes to manipulate rectangular regions.
  • Framebuffer Objects fixes and improvements.
  • New Collection class: managing groups of objects is more robust and closer to the C++ STL spirit.
  • New object oriented battery test framework
  • GLUT, WIN32, SDL, QT4 examples updated
  • Fixed mouse visibility bug under Win32
  • KdTree is now a subclass of BoundingBoxTree
  • KdTree compilation time 4.3x faster
  • Fixed culling for objects with Null bounds
  • Terrain scene manager is now based on the KdTree scene manager
  • TextStream reads UTF8 encoded strings
  • String::trim() functions improved
  • String::replace() functions improved
  • OpenGL extensions management greatly improved: wider compatibility, optimal use of the available extensions
  • Win32 GUI bindings: better support for fullscreen mode, support for top and child windows, many fixes and improvements.

Visualization Library Alpha 2.1

Visualization Library Alpha 2

Visualization Library Alpha 1

June 1986, Visualization Library 1.0 runs on Commodore 128's 8502 Processor!