GLIP-Lib
 All Classes Files Functions Variables Enumerations Enumerator Pages
OpenGL Image Processing Library (GLIP-Lib)

Introduction

GLIP-LIB : The OpenGL Image Processing LIBrary is a C++ library which provides some tools to design image processing pipelines based on hardware accelerated computing (GPGPU) via OpenGL and GLSL. It uses a graph oriented approach to the description of processing tasks : you describe, in the initialization of the program, your processing pipeline as a series of filters (each can have multiple inputs and outputs). Then, you apply inputs as different image on the port(s) of the pipeline(s) and obtain the results at the output port(s).

This library also ensures that the processing of images is not only made as a general purpose computation task on the GPU, but effectively use hardware enabled advantages of such architecture such as textured memory for fast global memory access, fast linear algebra in 2,3 and 4 dimensions and fast floating point functions. Moreover, this library can be interface either with CUDA or OpenCL APIs. Another advantage is the Just-In-Time (JIT) compilation of the shaders on the targeted plateform by the display driver. This guarantees at the same time the highest performances on the hardware and the flexibility in algorithm development.

The library, in itself, DOES NOT provide any function for context handling (except for GLEW) nor image acquisition from files, videos or cameras, nor display tools. However, we provide examples and easily reusable code for interfacing the library with Qt, GLFW and FFMPEG.

Download and News

This project is currently in development, prefer downloading the code from the Git repository for latest updates : http://sourceforge.net/p/glip-lib/code/ci/master/tree/ (It also contains tests and examples)

The project page on SourceForge is at : http://sourceforge.net/projects/glip-lib

You can download the last version of GLIP-Lib from the file page on SourceForge : http://sourceforge.net/projects/glip-lib/files/

The news feed is at : https://sourceforge.net/news/?group_id=363201

Introduction and Examples

See the related pages to find an introduction to GLIP-Lib and examples.

Glip-Studio

Prototype processing pipelines for images faster with Glip-Studio, the IDE for GLIP-Lib (Tool : GlipStudio).

Demos

Adapter for Qt Code, based on OutputDevice (implements full control over translation, rotation, zoom with mouse and keyboard) :
     WindowRendering.hpp
     WindowRendering.cpp
Other tools in the repository : http://sourceforge.net/p/glip-lib/code/ci/master/tree/Examples/ExternalTools/ GLFW "Hello World" - Game of Life :
     mainGLFW.cpp
     game.glsl
Other samples in the repository : http://sourceforge.net/p/glip-lib/code/ci/master/tree/Examples/

Contributors

Ronan Kerviche , Corentin Derbois.

License

Copyright (C) 2011, 2012 Ronan Kerviche

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.