|The Graphics Library Stereo Vision Engine (GLSVe) is a freely available open-source C# library based on OpenGL.
It has been designed to facilitate the creation, mainly by researches
or students, of graphic and virtual reality prototypes incorporating
stereoscopic representation. The GLSVe is distributed under the terms of the GNU Library General Public License agreement.
Its design will let to develop a stereoscopic graphic application in an easy way and without previous theory knowledge. GLSVe is being used in different application scenarios (virtual reality environments; ophthalmology research; and visualization and compilation of geologic photo pairs, among others). The observer, the 3D pointer, the screen, the 3D sound and the graphics primitives are managed through different classes. This allows easy implementation of virtual reality scenarios if a tracking system is available (including multi-screen environments). Graphic primitives can have different appearance as seen by each observer’s eye, allowing the development of software for optometry research. Different stereoscopic modes have been implemented: side by side, cross eye, anaglyph, interlaced, alternated pages and dual stream. Viewport transformations are also implemented to bring the pixel to user unit transformation under control.
GLSVe has been written in .Net C# and it uses OpenGL as low level graphic programming library. Tao Framework implements an OpenGL wrapper allowing make use of it in the C# language. Tao Framework also gives GLSVe access to SDL (Simple DirectMedia Layer). SDL is a cross-platform multimedia library, free and open source, written in C, designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. Further, Tao Framework includes the OpenAL (Open Audio Library), a free software cross-platform audio API.
GLSVe has its origin in GLSV, a first library that was proposed by our research team. It was a set of auxiliary functions similar to the ones used in OpenGL: glLookAt was substituted by glsvLookAt; glPerspective by glsvPerspective; and so on. Thus the use of GLSV does not require changing the way a programmer develops applications development with OpenGL. Despite its interest, GLSV is not an object-oriented library but a set of functions. For more information about GLSV you can consult the paper published in Virtual Reality.
This project has received a financial aid in 2010 by IUTA, Instituto Universitario de Tecnología Industrial de Asturias.
| Universidad de Oviedo
Santiago Martin (director)
Universidad de las Ciencias Informaticas (La Habana, Cuba)