All Projects → Ryp → moGL

Ryp / moGL

Licence: MIT license
Modern OpenGL wrapper, thin C++14 header-only layer on top of the OpenGL 4.5+ API

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
GLSL
2045 projects

Projects that are alternatives of or similar to moGL

glow
OpenGL Object Wrapper (GLOW)
Stars: ✭ 18 (-33.33%)
Mutual labels:  wrapper
CallofDuty.py
Asynchronous, object-oriented Python wrapper for the Call of Duty API.
Stars: ✭ 86 (+218.52%)
Mutual labels:  wrapper
XUSG
XUSG, XU's supreme graphics lib, is a handy wrapper currently for DirectX 12. It can be a good reference for designing your own DX12 wrapper APIs.
Stars: ✭ 57 (+111.11%)
Mutual labels:  wrapper
sandboxed-fs
Sandboxed Wrapper for Node.js File System API
Stars: ✭ 41 (+51.85%)
Mutual labels:  wrapper
advcash
node.js wrapper for advcash cryptocurrency exchange
Stars: ✭ 14 (-48.15%)
Mutual labels:  wrapper
routeros-client
Abstraction layer over the node-routeros API
Stars: ✭ 63 (+133.33%)
Mutual labels:  wrapper
Google-Docs-Desktop-OSX
A Super Simple Google Docs Desktop Client for Mac OSX Built in Javascript and MacGap
Stars: ✭ 35 (+29.63%)
Mutual labels:  wrapper
v-cupertino
A Vue 3 Wrapper for Cupertino Pane Library
Stars: ✭ 17 (-37.04%)
Mutual labels:  wrapper
mira
The fantastic Golang Reddit API wrapper for gophers
Stars: ✭ 54 (+100%)
Mutual labels:  wrapper
igdb
Laravel PHP Facade/Wrapper for the IGDB API
Stars: ✭ 30 (+11.11%)
Mutual labels:  wrapper
limo
A wrapper around selenium webdriver
Stars: ✭ 25 (-7.41%)
Mutual labels:  wrapper
YaraSharp
C# wrapper around the Yara pattern matching library
Stars: ✭ 29 (+7.41%)
Mutual labels:  wrapper
Discord-Netflix
A updated and improved version from the original Discord-Netflix from Nirewen.
Stars: ✭ 26 (-3.7%)
Mutual labels:  wrapper
ScintillaNET.WPF
A WPF Wrapper around the ScintillaNET v3 control
Stars: ✭ 30 (+11.11%)
Mutual labels:  wrapper
FinMesh
A python package that brings together financial and economic data.
Stars: ✭ 20 (-25.93%)
Mutual labels:  wrapper
ros jetson stats
🐢 The ROS jetson-stats wrapper. The status of your NVIDIA jetson in diagnostic messages
Stars: ✭ 55 (+103.7%)
Mutual labels:  wrapper
nimCEF
Nim wrapper for the Chromium Embedded Framework
Stars: ✭ 27 (+0%)
Mutual labels:  wrapper
harfbuzz rs
A fully safe Rust wrapper for the harfbuzz text shaping library.
Stars: ✭ 26 (-3.7%)
Mutual labels:  wrapper
PSEventViewer
PSEventViewer (Get-Events) is really useful PowerShell wrapper around Get-WinEvent. One of the features you may be interested in is a simple way of getting “hidden” events data
Stars: ✭ 74 (+174.07%)
Mutual labels:  wrapper
sdlpp
C++ wrapper for SDL2
Stars: ✭ 37 (+37.04%)
Mutual labels:  wrapper

MoGL Build Status Join the chat at https://gitter.im/Ryp/moGL

Modern OpenGL wrapper, thin C++14 header-only layer on top of the OpenGL 4.5+ core spec.

Doxygen available here.

Features

MoGL takes full advantage of the 4.5 core spec, using DSA an RAII idioms in all object wrappers, limiting effectively side effects from OpenGL states. Say goodbye to glBind*() !

It keeps most of the syntax intact, including enums and types, but improving and shortening it when it makes the most sense. Porting existing GL code to MoGL is easy !

Performance is predictable, as it is a thin layer that doesn't do a lot of processing behind your back. In most cases, one MoGL call = one gl* call.

Practical example

Texture creation

GLuint myTex;

glGenTextures(1, &myTex);
glBindTexture(GL_TEXTURE_2D, myTex);
glTexStorage2D(GL_TEXTURE_2D, 1, GL_RGB16F, 1024, 1024);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);

glDeleteTextures(1, &myTex);

To MoGL

mogl::Texture   myTex(GL_TEXTURE_2D);

myTex.setStorage2D(1, GL_RGB16F, 1024, 1024);
myTex.set(GL_TEXTURE_MAG_FILTER, GL_LINEAR);
myTex.set(GL_TEXTURE_MIN_FILTER, GL_LINEAR);

Actual GL calls

GLuint myTex;

glCreateTextures(GL_TEXTURE_2D, 1, &myTex);
glTextureStorage2D(myTex, 1, GL_RGB16F, 1024, 1024);
glTextureParameteri(myTex, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTextureParameteri(myTex, GL_TEXTURE_MIN_FILTER, GL_LINEAR);

glDeleteTextures(1, &myTex);
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].