A lightweight and self-consistent object oriented wrapper around OpenGL and its extensions.
C++ CMake C GLSL Batchfile Shell HTML
Latest commit 48974ce Jan 5, 2017 @sschuberth committed on GitHub Create LICENSE
Permalink
Failed to load latest commit information.
catch @ 2be3727
gale2
glex2 @ 4be7031
.gitattributes
.gitmodules
LICENSE
README.md
appveyor.yml
index.html

README.md

Build status

Introduction

The "Graphics Abstraction Layer & Engine" (GALE) is an object oriented wrapper around OpenGL and its extensions. It is designed to be modern, lightweight and self-consistent (there is no CRT dependency). Typical targets are small graphical applications. You can probably think of it as something similar to (but far less extensive than) the great Wild Magic and G3D Innovation Engine libraries, with a bit of GLEW and GLM, however with a focus on very compact programs.

The current version of the C++ library is GALE 2, a complete rewrite of the abandoned GALE 1 which was previously hosted in SVN at SourceForge. GALE 2 has all new OpenGL wrappers and vertex-vertex mesh classes with subdivision support. It makes heavy use of (meta-)templates for more generic code, better performance, as well as smaller code size, and also comes with minimal CRT replacement routines. Not all of the GALE 1 functionality is available in GALE 2 yet (e.g. images and billboards), but on the other hand GALE 2 already provides a lot of functionality not available in GALE 1, like Frame Buffer Object wrappers and interpolator classes.

For building GALE 2, please refer to the prerequisites.

Screenshots

demo_camera:

demo_camera

demo_color:

demo_color

demo_fbo:

demo_fbo

demo_heartbeat:

demo_heartbeat

demo_interpolator:

demo_interpolator

demo_mesh:

demo_mesh

demo_quaternion:

demo_quaternion

demo_shader:

demo_shader

demo_texture:

demo_texture

TODO