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

BitKiller - Dealing with various types of data efficiently holds the key to success in any computing task. Apart from generating new data and modifying existing files, it becomes necessary to delete existing files at times. While most users resort to using ...

TuckAway Intelligent Email Organizer Pro - Using an email software allow you to do a number of things including managing your address lists, emails and even ending memos, documents and even virtual letters. You can also use it to manage your tasks easily. The email software comes in ...

LogmeOnce Password Manager Ultimate - Irrespective of your computer and web usage needs it is quite imperative that you will deal with passwords, in fact plenty of them. Both home and corporate network users need to log in to several web services and sites and for each of them, user ...

Enpass Password Manager - With time, average PC users find it tedious to deal with oodles of passwords. For every online profile, whether it is social media or online banking, creating user name and password is required and after a time it can be cumbersome to handle them ...

Style Jukebox - No matter if you use a computer for personal needs or work in a networked setup, listening to music is commonplace. It is required for relaxation amidst work and nearly every user indulges in it. For music playback on PC, the WMP is not the only ...

MAGIX Video easy - Editing videos was a complicated task even a few years back and it was restricted to studios and post production areas in general. However, advancements in computer technology and advent of numerous portable video capture devices have made things ...

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 ...

McAfee SiteAdvisor Live - Nowadays, PC users look for more than a standalone antivirus software to boost their PC protection level. If you feel concerned about online safety and need a more secure browsing experience, it is prudent that you use an add-on security tool ...

Autodesk MotionBuilder 2015 - 3D animators and post production setups need to use Motion capturing technology extensively for making stunning films, ads and tutorials etc. Over the years, both software and hardware technology used in this segment have evolved by leaps 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 ...




New Downloads

Dynamic .NET TWAIN

Dynamic .NET TWAIN is a
managed code component that
enables you to acquire images
from any TWAIN compatible
devices. With ...

MindFusion.Charting for
WinForms

Easy to use .NET gauge and
charting controls for Windows
Forms applications. The
package includes Graph, Line,
Area, Bar, ...

SecureBlackbox C++

SecureBlackbox is a
comprehensive library that
adds SFTP, FTPS, SSH, PGP,
PDF, XML, SSL/TLS, HTTPS, PKI,
ZIP, EDI, Cloud, ...

ScreenMaster

Easy program for automatic
screenshot capture allowing
making screenshots with set
frequency. The program can
work in ...

Internet Browser Cleaner
ActiveX

Internet Browser Cleaner
ActiveX is a dll control to
fast detect and delete
temporary and privacy internet
files (cache, ...

MarshallSoft Client Mailer
for Foxpro

Send personalized text or HTML
email with attachments to
clients or customers directly
from a Visual FoxPro
application ...

Miraplacid Text Driver SDK
TE

Generates virtual printer
driver to extract text from
printable documents, then save
it to file or upload to a
server. ...

GroupDocs.Annotation for
Java

A flexible Java library for
HTML5-based annotation of 50+
types of documents and images,
including PDF, Office, Visio,
...

PDF-Tools SDK

All a developer needs to View,
create and manipulate Adobe
PDF files our extensive 32/64
bit Windows Libraries. ...

InstallAware Free Installer

InstallAware\'s new Free
Installer runs inside Visual
Studio and creates setups
automatically, by scanning
your loaded ...

License4J License Manager

License4J is a Java library
for java software licensing.
It is designed to be easy to
use and integrate in your Java
...

SignalLab .NET

.NET 2.0-4.5 components for
fast Digital Signal Processing
(DSP) and data visualization.
Allows fast complex signal ...