globjects.h
Go to the documentation of this file.
#pragma once
#include <string>
#include <array>
#include <set>
#include <glbinding/gl/types.h>
#include <glbinding/ContextHandle.h>
#include <globjects/globjects_api.h>
#include <globjects/AbstractUniform.h>
#include <globjects/Buffer.h>
#include <globjects/Framebuffer.h>
#include <globjects/DebugMessage.h>
#include <globjects/Program.h>
#include <globjects/Shader.h>
#include <globjects/Object.h>
#include <globjects/VertexArray.h>
namespace glbinding
{
class Version;
} // namespace glbinding
namespace globjects
{
GLOBJECTS_API void init();
GLOBJECTS_API void init(glbinding::ContextHandle sharedContextId);
GLOBJECTS_API void detachAllObjects();
template <typename T, typename... Args>
void init(T strategy, Args... args);
template <typename T, typename... Args>
void init(glbinding::ContextHandle sharedContextId, T strategy, Args... args);
GLOBJECTS_API void registerCurrentContext();
GLOBJECTS_API void registerCurrentContext(glbinding::ContextHandle sharedContextId);
GLOBJECTS_API void setContext(glbinding::ContextHandle contextId);
GLOBJECTS_API void setCurrentContext();
GLOBJECTS_API std::string getString(gl::GLenum pname);
GLOBJECTS_API std::string getString(gl::GLenum pname, gl::GLuint index);
GLOBJECTS_API gl::GLint getInteger(gl::GLenum pname);
GLOBJECTS_API gl::GLenum getEnum(gl::GLenum pname);
GLOBJECTS_API gl::GLfloat getFloat(gl::GLenum pname);
GLOBJECTS_API gl::GLdouble getDouble(gl::GLenum pname);
GLOBJECTS_API gl::GLboolean getBoolean(gl::GLenum pname);
GLOBJECTS_API gl::GLint getInteger(gl::GLenum pname, gl::GLuint index);
GLOBJECTS_API gl::GLenum getEnum(gl::GLenum pname, gl::GLuint index);
GLOBJECTS_API gl::GLfloat getFloat(gl::GLenum pname, gl::GLuint index);
GLOBJECTS_API gl::GLdouble getDouble(gl::GLenum pname, gl::GLuint index);
GLOBJECTS_API gl::GLboolean getBoolean(gl::GLenum pname, gl::GLuint index);
GLOBJECTS_API std::string vendor();
GLOBJECTS_API std::string renderer();
GLOBJECTS_API std::string versionString();
GLOBJECTS_API glbinding::Version version();
GLOBJECTS_API bool isCoreProfile();
template <int Count>
std::array<gl::GLint, Count> getIntegers(gl::GLenum pname);
template <int Count>
std::array<gl::GLenum, Count> getEnums(gl::GLenum pname);
template <int Count>
std::array<gl::GLfloat, Count> getFloats(gl::GLenum pname);
template <int Count>
std::array<gl::GLdouble, Count> getDoubles(gl::GLenum pname);
template <int Count>
std::array<gl::GLboolean, Count> getBooleans(gl::GLenum pname);
GLOBJECTS_API const std::set<gl::GLextension> & availableExtensions();
GLOBJECTS_API const std::set<std::string> & unknownAvailableExtensions();
GLOBJECTS_API bool hasExtension(gl::GLextension extension);
GLOBJECTS_API bool hasExtension(const std::string & extensionName);
GLOBJECTS_API bool isInCoreProfile(gl::GLextension extension, const glbinding::Version & version);
GLOBJECTS_API bool isInCoreProfile(gl::GLextension extension);
GLOBJECTS_API void enable(gl::GLenum capability);
GLOBJECTS_API void disable(gl::GLenum capability);
GLOBJECTS_API bool isEnabled(gl::GLenum capability);
GLOBJECTS_API void setEnabled(gl::GLenum capability, bool enabled);
GLOBJECTS_API void enable(gl::GLenum capability, int index);
GLOBJECTS_API void disable(gl::GLenum capability, int index);
GLOBJECTS_API bool isEnabled(gl::GLenum capability, int index);
GLOBJECTS_API void setEnabled(gl::GLenum capability, int index, bool enabled);
GLOBJECTS_API void initializeStrategy(AbstractUniform::BindlessImplementation impl);
GLOBJECTS_API void initializeStrategy(Buffer::BindlessImplementation impl);
GLOBJECTS_API void initializeStrategy(Framebuffer::BindlessImplementation impl);
GLOBJECTS_API void initializeStrategy(DebugMessage::Implementation impl);
GLOBJECTS_API void initializeStrategy(Program::BinaryImplementation impl);
GLOBJECTS_API void initializeStrategy(Shader::IncludeImplementation impl);
GLOBJECTS_API void initializeStrategy(Object::NameImplementation impl);
GLOBJECTS_API void initializeStrategy(VertexArray::AttributeImplementation impl);
} // namespace globjects
#include <globjects/globjects.inl>
globjects::getDoubles
std::array< gl::GLdouble, Count > getDoubles(gl::GLenum pname)
glbinding
Definition: glbindinglogging.h:11
globjects::getBoolean
GLOBJECTS_API gl::GLboolean getBoolean(gl::GLenum pname, gl::GLuint index)
globjects::init
void init(glbinding::ContextHandle sharedContextId, T strategy, Args... args)
globjects::getString
GLOBJECTS_API std::string getString(gl::GLenum pname, gl::GLuint index)
globjects::setContext
GLOBJECTS_API void setContext(glbinding::ContextHandle contextId)
Shader.h
globjects::isInCoreProfile
GLOBJECTS_API bool isInCoreProfile(gl::GLextension extension)
globjects::getEnum
GLOBJECTS_API gl::GLenum getEnum(gl::GLenum pname, gl::GLuint index)
globjects::isCoreProfile
GLOBJECTS_API bool isCoreProfile()
DebugMessage.h
globjects
Contains all the classes that wrap OpenGL functionality.
globjects::getFloats
std::array< gl::GLfloat, Count > getFloats(gl::GLenum pname)
globjects::getFloat
GLOBJECTS_API gl::GLfloat getFloat(gl::GLenum pname, gl::GLuint index)
globjects::versionString
GLOBJECTS_API std::string versionString()
globjects::isEnabled
GLOBJECTS_API bool isEnabled(gl::GLenum capability, int index)
globjects::disable
GLOBJECTS_API void disable(gl::GLenum capability, int index)
globjects::enable
GLOBJECTS_API void enable(gl::GLenum capability, int index)
globjects::getInteger
GLOBJECTS_API gl::GLint getInteger(gl::GLenum pname, gl::GLuint index)
globjects::setEnabled
GLOBJECTS_API void setEnabled(gl::GLenum capability, int index, bool enabled)
Buffer.h
Object.h
globjects::vendor
GLOBJECTS_API std::string vendor()
globjects::getBooleans
std::array< gl::GLboolean, Count > getBooleans(gl::GLenum pname)
globjects::renderer
GLOBJECTS_API std::string renderer()
globjects::registerCurrentContext
GLOBJECTS_API void registerCurrentContext(glbinding::ContextHandle sharedContextId)
globjects::availableExtensions
GLOBJECTS_API const std::set< gl::GLextension > & availableExtensions()
globjects::getDouble
GLOBJECTS_API gl::GLdouble getDouble(gl::GLenum pname, gl::GLuint index)
AbstractUniform.h
globjects::getIntegers
std::array< gl::GLint, Count > getIntegers(gl::GLenum pname)
globjects::unknownAvailableExtensions
GLOBJECTS_API const std::set< std::string > & unknownAvailableExtensions()
Framebuffer.h
Program.h
VertexArray.h
globjects::version
GLOBJECTS_API glbinding::Version version()
globjects::hasExtension
GLOBJECTS_API bool hasExtension(const std::string &extensionName)
globjects::initializeStrategy
GLOBJECTS_API void initializeStrategy(VertexArray::AttributeImplementation impl)
globjects::setCurrentContext
GLOBJECTS_API void setCurrentContext()
globjects::getEnums
std::array< gl::GLenum, Count > getEnums(gl::GLenum pname)
globjects::detachAllObjects
GLOBJECTS_API void detachAllObjects()
calls detach on every registered object