sschuberth / gale

A lightweight and self-consistent object oriented wrapper around OpenGL and its extensions.

Home Page:https://sschuberth.github.io/gale/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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_color

demo_fbo

demo_heartbeat

demo_interpolator

demo_mesh

demo_quaternion

demo_shader

demo_texture

TODO

About

A lightweight and self-consistent object oriented wrapper around OpenGL and its extensions.

https://sschuberth.github.io/gale/

License:MIT License


Languages

Language:C++ 90.8%Language:CMake 4.3%Language:C 3.2%Language:GLSL 0.9%Language:Batchfile 0.6%Language:Shell 0.2%Language:HTML 0.1%