OGL4Core Framework

OGL4Core is a framework to ease the development of prototypical or education-oriented GPU-centric algorithms. Each algorithm is confined to its own dll, which are managed by the framework and can be arbitrarily switched at runtime. The framework provides functionality on different levels of abstraction that can be chosen according to the education goal. The functionality includes:

  • Plugin instantiation by subclassing and implementing a thin interface
  • Variables for all basic types that only need to be declared by the user and are automatically inserted into the GUI at runtime
  • Convenience functions for shader management, texture/volume/.OBJ loading, framebuffer object, text rendering, mouse interaction (manipulators)
  • No overhead for window handling etc.

OGL4Core happily relies on the functionality of glmAntTweakBarfreetypelibpnggl3w, and freeglut.

It currently works on linux and windows.

Here you find the recent compilations:

  • to test the standard plugins (bin)
  • to build your own plugin, i.e. Framework-Executable + API (src)

for a variety of operating systems.

For the binary distributions on windows systems you need the Visual Studio Runtime library (If you do not have the according Visual Studio installed). The source distro absolutely requires a Visual Studio installation (MSVCRTxxD.dll). The newest Windows distribution is Win32 AND x64, VS2015, the older ones are Win32 only, VS2013. The Runtimes can be downloaded from Microsoft: Visual Studio 2013, Visual Studio 2015

Citing OGL4Core

G. Reina, T. Müller, T. Ertl: Incorporating Modern OpenGL into Computer Graphics Education. IEEE Computer Graphics & Applications 34(4), pp. 16-21, 2014.

Bibtex DOI

Contact

For educational reasons, the full source is only available upon request: the convenience functionality duplicates/wraps some basic OpenGL housekeeping (manipulators, shaders, buffer objects, ...) making exercises on those subjects useless.

Guido Reina and Thomas Müller

Screenshots

Fast Fourier Transform of a box aperture
Isosurface representation of engine dataset
Line integral convolution example
Terrain renderer with tesselation
Zum Seitenanfang