namespace glw

Overview

OpenGL wrapper library namespace. Provides simplified interface for using OpenGL features. More…

namespace glw {

// typedefs

typedef TAttrib<gl::GLenum::GL_FLOAT, 1> Attrib1f;
typedef TAttrib<gl::GLenum::GL_FLOAT, 2> Attrib2f;
typedef TAttrib<gl::GLenum::GL_FLOAT, 3> Attrib3f;
typedef TAttrib<gl::GLenum::GL_FLOAT, 4> Attrib4f;
typedef TAttrib<gl::GLenum::GL_INT, 1> Attrib1i;
typedef TAttrib<gl::GLenum::GL_INT, 2> Attrib2i;
typedef TAttrib<gl::GLenum::GL_INT, 3> Attrib3i;
typedef TAttrib<gl::GLenum::GL_INT, 4> Attrib4i;
typedef std::shared_ptr<class ArrayObject> PArrayObject;
typedef std::shared_ptr<class FrameBuffer> PFrameBuffer;
typedef std::shared_ptr<class Shader> PShader;
typedef std::shared_ptr<class Program> PProgram;
typedef std::shared_ptr<class ProgramList> PProgramList;
typedef std::shared_ptr<class Texture> PTexture;
typedef std::shared_ptr<class Texture2D> PTexture2D;
typedef std::shared_ptr<class Texture2dMultisample> PTexture2dMultisample;
typedef std::shared_ptr<UniformBuffer<T>> PUniformBuffer;

// enums

enum ColorType;
enum DataUsage;
enum DepthDataFormat;
enum DrawMode;
enum Filtering;
enum ShaderType;
enum Wrapping;

// structs

struct Attrib;
struct ShaderPipeline;

template <gl::GLenum T, uint32_t N>
struct TAttrib;

// classes

class ArrayObject;
class FrameBuffer;
class HiddenWindow;
class Program;
class ProgramList;
class Shader;
class Texture;
class Texture2D;
class Texture2dMultisample;

template <typename T>
class UniformBuffer;

class Window;
class WindowEventObserver;

// global functions

GLW_API std::string GetShaderBuildDirectory();
GLW_API void SetShaderBuildDirectory(const std::string& directory);
GLW_API glw::PShader BuildShader(std::string filename, const glw::Shader::ReplaceMap replace_map);
GLW_API glw::ShaderType GetShaderTypeFromFileName(const std::string& filename);
GLW_API gl::GLenum ColorFormat(const ColorType color_data_type, const uint8_t channels);
GLW_API bool IsOpenGLInitialized();
GLW_API std::string GetError();
GLW_API std::string GetOpenGlVendor();
GLW_API std::string GetOpenGlRenderer();
GLW_API std::string GetOpenGlVersion();
GLW_API utils::Version GetCurrentOpenGlVersion();
glw::PTexture2D SumDiffTextures(const glw::PTexture2D& texture1, const glw::PTexture2D& texture2, const glw::FrameBuffer::Settings& framebuffer_settings, const bool summation);
glw::PTexture2D SumTextures(const glw::PTexture2D& texture1, const glw::PTexture2D& texture2, const glw::FrameBuffer::Settings& framebuffer_settings);
glw::PTexture2D DiffTextures(const glw::PTexture2D& texture1, const glw::PTexture2D& texture2, const glw::FrameBuffer::Settings& framebuffer_settings);

} // namespace glw

Detailed Documentation

OpenGL wrapper library namespace. Provides simplified interface for using OpenGL features.

Global Functions

GLW_API std::string GetShaderBuildDirectory()

Returns directory path where function BuildShader looks for shader files. Can be changed by calling SetShaderBuildDirectory.

GLW_API void SetShaderBuildDirectory(const std::string& directory)

Changes directory path where function BuildShader looks for shader files.

GLW_API glw::PShader BuildShader(std::string filename, const glw::Shader::ReplaceMap replace_map)

Builds shader file using extended build system, which supports file including, error checks, etc.

Parameters:

filename

Name of shader file, which is looked for in directory set by SetShaderBuildDirectory.

replace_map

Searches for all occurrences of specified replacement pairs and replaces them.

GLW_API glw::ShaderType GetShaderTypeFromFileName(const std::string& filename)

Creates ShaderType from extension of specified shader file name.

GLW_API gl::GLenum ColorFormat(const ColorType color_data_type, const uint8_t channels)

Creates OpenGL color format from desired data type per channel, and desired number of channels.

GLW_API bool IsOpenGLInitialized()

Returns true when OpenGL was initialized.

GLW_API std::string GetError()

Returns all errors generated by OpenGL since last time this function was called.

GLW_API utils::Version GetCurrentOpenGlVersion()

Get OpenGL version actually active on system.