Home > By category > Developer Tools >Components & Libraries > OGLplus



OGLplus

  • Downloads: 
  • Views: 
  • Rating:

OGLplus is a header-only library which implements a thin object-oriented facade over the OpenGLT* (version 3 and higher) C-language API. It provides wrappers which automate resource and object management and make the use of OpenGL in C++ safer and easier.

Features

OGLplus adds the following functionality to the OpenGLT* C API.
Automatic resource management

Applications using the OpenGLT* library typically allocate and use, during their run-time, resources like buffers, queries, textures, shaders, programs, etc. from this library. OGLplus uses the RAII idiom to automatically manage the lifetime of these resources. Classes like Buffer, Texture, Query, Shader, Program, Framebuffer, Renderbuffer, etc. automatically get a new OpenGL name for the wrapped object when an instance is constructed and it is freed when the instance is destroyed. Besides this basic functionality, the individual classes also implement member functions wrapping those calls which are related to the resource managed by the particular class.

When several instances of the same resource type should be created and freed at the same time, the Array template provides efficient means for doing so.
Type safety

OpenGL uses the GLuint type as the namespace for instances of different types of resources (textures, shaders, programs, etc.) and thus it is very easy to make an error and use a name originally allocated for a shader as a parameter for a call expecting for example a name of a occlusion query, and such errors will not be caught by the compiler.

By implementing the wrapper classes OGLplus gives a special meaning to the unsigned integer names and by their encapsulating and hiding from the library client it allows to avoid such errors.

Similarly the various enumerations are basically values of the GLenum type and are prone to the same kind of error. You can pass an incompatible enumerated value to a API function call. OGLplus again allows to avoid these errors by separating the values into strongly typed enums and wrapping the basic OpenGLT* API calls by functions accepting only parameters with matching enumerated types.
Error handling and diagnostic

In cases where errors cannot be caught at compile-time by using the type system or by other means, OGLplus checks for errors after the calls to OpenGL and throws an exception if an error occurs. All exceptions are derived from the Error class which provides information about the throw site of the exception (source file, line, OGLplus function name, the OpenGLT* C API call, etc. where the error occured) and optionally also some properties (string key and value) attached at the throw site or during the propagation of the exception. If the error is related to a described object, then the object description can also be obtained for a more precise diagnostic.
Interoperability with OpenGLT* C API

As said above, OGLplus by default encapsulates and hides the OpenGL names assigned to various objects (resources allocated at the OpenGL server). There are however situations where it might be necessary to get this "raw" resource handle. This can be done via the Expose function.
Additional CG related classes

Besides the classes wrapping OpenGL functionality OGLplus also provides several classes which are related to computer graphics and indirectly to OpenGL, like Angle, Vector, Matrix, BezierCurves, and several others, but does not force you to use them if you don't want to.
Optional object description

Objects with OpenGL names (unsigned integers) can optionally have a textual description. This is useful for diagnostic purposes, for example in an application with lots of different shaders it is easier to track the source of compilation, linking or validation errors when the individual shader or program objects have a human-readable description which is attached to the exception raised by the error.
Configurability

If the overhead caused by the object descriptions or other run-time checks (which are useful during the development and/or debugging) is unacceptable for release builds of an application using OGLplus, they can all be compiled away by setting the value of the OGLPLUS_LOW_PROFILE preprocessor symbol. Individual features can be also enabled or disabled independently as required by setting the appropriate Configuration options.
What OGLplus isn't

Like the OpenGLT* C API, OGLplus does not officially provide nor force you to use code related to creating of the default framebuffer. There are already several other libraries and frameworks which do it in both platform dependent and platform independent ways.

OGLplus also does not include header file(s) declaring the OpenGLT* 3 (or higher) function prototypes and enumerated values. It is the responsibility of the application to do so. There are several ways how to do it, see Getting it going for some suggestions.
Getting started

One of the best ways how to get yourself acquainted with the library is to look at the examples and to browse through the reference. Many of the examples are thoroughly commented and for some of them step-by-step tutorials are being added. Also see Getting it going for a detailed help on building the examples and your own applications.

Free download from Shareware Connection - OGLplus is an open-source header-only library which implements a thin object-oriented facade over the OpenGLT« (version 3 and higher) C-language API.

Publisher: Matus Chochlik | License: Shareware
Version: 0.24.0 | Size: 4915 KB | Platform: WinOther
Released Date: | Rating: 0 | Title: OGLplus

Author Url: http://sourceforge.net/projects/oglplus
Program Info Url: http://sourceforge.net/projects/oglplus
Download Url: http://nchc.dl.sourceforge.net/project/oglplus/oglplus-0.24.x/oglplus-0.24.0.zip

More downloads from OGLplus publisher Matus Chochlik:

C++ PDF Lexer - C++ PDF Lexer is a simple and accessible header-only library that is written in C++.

Mirror - The aim of the Mirror library is to provide both compile-time and run-time meta-data describing C++ constructs like namespaces, types typedef-ined types, enums, classes with their base classes, member variables, constructors, member functions, etc.

OGLplus keywords:
OGLplus related downloads:

Satellite TV for PC Software - Watch thousands of free to air TV channels from all over the world on your PC using our revolutionary 'satellite TV for PC' software. All that you will need is our software and an Internet connection (wireless, dial-up, DSL/ADSL, cable, broadband)

Open Source GlassFish Software Appliance - Open Source Application Server Appliance based on Open Source GlassFish

Microsoft Visio 2013 Software Development Kit - The Microsoft Visio Software Development Kit (SDK) contains the latest documentation, samples, header files, libraries, and tools that you need to develop custom solutions for Visio.

Open Broadcaster Software - Open Broadcaster Software, also known as OBS, was created as an accessible and open source software that can help you broadcast multimedia files.

NGIO Software Development Kit - NGIO Software Development Kit is a toolkit designed for the developers that want to create application that work with data from LabQuest and LabQuest Mini devices.

Shareware Connection periodically updates pricing and software information of 'OGLplus' from company source 'Matus Chochlik' , so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft,  Using 'OGLplus' crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of OGLplus.

New Reviews

Trend Micro HouseCall - With time, PC users find it increasingly difficult to keep their systems free of malware and rogue apps, despite using latest and feature packed security software. This is mostly owing to the evolving nature of malware and newer types of ...

DataLocker SkyCrypt - Storing data in external hard drive is what any PC user can resort to but Cloud storage is gaining popularity with time. It gives you more flexibility and you can avail free and cheaply priced data storage in cloud as well. The only aspect that ...

Avira Ultimate Protection Suite - With time the importance of PC security has gone up by leaps and bounds. Earlier, people used to rely on standalone antivirus software. However, security conscious users prefer having a more robust form of protection. They opt for Internet ...

Avast Endpoint Protection Suite Plus - PC security has become a vital aspect of computing nowadays and business users face the heat more than home users. While installing and handling a standalone antivirus suite is neither tedious nor time consuming, the scenario is different in ...

Sigma Internet Monitoring - There is no denying the huge importance of internet in human life. Without the web, it has literally become imposable to carry on a lot of personal and professional activities, irrespective of your age, gender and qualification. While the web ...

Freemake Video Converter - Video conversion can become a necessity for average PC users who find it increasingly hard to manage an ever growing collection of media and video files. The DVDs, videos obtained from web and clips shot with mobile devices keep growing. Over ...

Diver Reviver - It is not only malware and viruses that can affect performance of your computer. Malfunctioning and outdated drivers for hardware components can also affect speed and performance of a PC perceptibly. While seasoned users take the pain of ...

Screenpresso Pro - Capturing screenshots and webcam streams can become a necessity at times for PC users. There was a time most users resorted to Windows bundled print screen utility but now there are so many choices to pick from. If you want a feature rich and ...

Corel Painter Lite - Corel’s graphics and illustration tools have been perennial favorites with millions of graphic designers and layout artists worldwide. While CorelDraw graphic suite is the company’s most popular app, Painter has also succeeded in ...

Adobe Media Encoder - Almost every PC user faces a situation where he or she needs to convert an audio or video file fast into a format of choice. There are several free and commercial apps, but the abundance of options can actually make selection difficult. If you ...




New Downloads

ActiveResize Control
Professional

VBGold ActiveResize Control
makes your VB applications
completely
resolution-independent. It
resizes all controls and ...

J4L RBarcode for Delphi

Delphi components that create
1D and 2D barcodes. It
supports: EAN, Datamatrix,
Aztec, QRcode , regular, Macro
and Micro ...

UWP OCR SDK

Add OCR , business card
reading technology to your UWP
applications quickly and
easily. Support Arabic,
English, German, ...

Free UWP PDF Viewer SDK

Help developers create a
customized PDF Viewer
application on Universal
Windows Platform. It is
completely free and ...

Universal Data Access
Components

UniDAC (Universal Data Access
Components) is a powerful
library of non-visual
cross-database data access
components for ...

dotConnect for ExactTarget

dotConnect for ExactTarget is
an ADO.NET provider for
working with ExactTarget data
through the standard ADO.NET
or ...

InstallAware Express MSI
Installer

The InstallAware MSI builder
creates sophisticated,
visually appealing setups with
support for the latest
technologies, ...

VISCOM PDF Viewer SDK
ActiveX

fast open pdf sdk activex,
search the text in multipage
PDF files. Support go to
specific page when open
multipage PDF ...

ApexSQL Clean

ApexSQL Clean analyzes SQL
Server database objects,
dependencies within the
database, across databases,
scripts and even ...

Client/Server Comm Lib for
C/C++

Client/server component C++
and .NET library for TCP/IP
UDP sockets to communicate
across a network. Allows
multiple ...

Falco Free XLS Library

Free Excel Library for
Saving/Loading.

GroupDocs.Annotation for
.NET

A lightweight .NET library for
HTML5-based document
annotation. The library is
designed for easy integration
into web, ...