Gorgon Game Engine
OpenGL.cpp File Reference
Include dependency graph for OpenGL.cpp:

Namespaces

 Gorgon
 Root namespace for Gorgon Game Engine.
 
 Gorgon::GL
 This namespace contains underlying graphics library functions.
 

Macros

#define GL_BGR
 
#define GL_BGRA
 
#define GL_DEBUG_OUTPUT
 

Functions

void Clear ()
 Clears the window pointed by the active context. More...
 
void CopyToTexture (Texture texture, const Containers::Image &data, Geometry::Bounds source, Geometry::Point target)
 Copies the data from the given image to the texture starting from specified boundary of the given target. More...
 
void CopyToTexture (Texture texture, const Containers::Image &data, Geometry::Point target)
 Copies the data from the given image to the texture starting from the given target. More...
 
void debug_proc (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *)
 
void DestroyTexture (Texture texture)
 Destroys the given texture. More...
 
Texture GenerateEmptyTexture (const Geometry::Size &size, Graphics::ColorMode mode)
 This function generates a texture from the given image data. More...
 
Texture GenerateTexture (const Containers::Image &data)
 This function generates a texture from the given image data. More...
 
GLenum getGLColorMode (Graphics::ColorMode mode)
 
void LoadFunctions ()
 
void RenderToScreen ()
 Stops rendering to a texture and start rendering to a buffer. More...
 
void RenderToTexture (FrameBuffer &buffer)
 Begins using the given frame buffer. More...
 
void Resize (const Geometry::Size &size)
 Resizes the active context. More...
 
void ResizeTexture (Texture texture, const Geometry::Size &size, Graphics::ColorMode mode)
 Resizes the given texture to the specified size. More...
 
void SetDefaultBlending ()
 Sets default blending parameters as current. More...
 
void SetDefaultClear ()
 Sets default clear parameters as current. More...
 
void settexturedata (Texture tex, const Containers::Image &data)
 
void SetupContext (const Geometry::Size &size)
 Performs first time initialization on GL context. More...
 
void UpdateTexture (Texture texture, const Containers::Image &data)
 Updates the given texture to contain the given data. More...
 

Variables

PFNGLACTIVETEXTUREPROC glActiveTexture
 
PFNGLATTACHSHADERPROC glAttachShader
 
PFNGLBINDATTRIBLOCATIONPROC glBindAttribLocation
 
PFNGLBINDBUFFERPROC glBindBuffer
 
PFNGLBINDBUFFERBASEPROC glBindBufferBase
 
PFNGLBINDFRAMEBUFFERPROC glBindFramebuffer
 
PFNGLBINDRENDERBUFFER glBindRenderbuffer
 
PFNGLBINDVERTEXARRAYPROC glBindVertexArray
 
PFNGLBLENDFUNCSEPARATEPROC glBlendFuncSeparate
 
PFNGLBUFFERDATAPROC glBufferData
 
PFNGLBUFFERSUBDATAPROC glBufferSubData
 
PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus
 
PFNGLCOMPILESHADERPROC glCompileShader
 
PFNGLCREATEPROGRAMPROC glCreateProgram
 
PFNGLCREATESHADERPROC glCreateShader
 
PFNGLDEBUGMESSAGECALLBACKPROC glDebugMessageCallback
 
PFNGLDELETEBUFFERSPROC glDeleteBuffers
 
PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers
 
PFNGLDELETEPROGRAMPROC glDeleteProgram
 
PFNGLDELETERENDERBUFFERS glDeleteRenderbuffers
 
PFNGLDELETESHADERPROC glDeleteShader
 
PFNGLDELETEVERTEXARRAYSPROC glDeleteVertexArrays
 
PFNGLDETACHSHADERPROC glDetachShader
 
PFNGLDRAWBUFFERSPROC glDrawBuffers
 
PFNGLENABLEVERTEXATTRIBARRAYPROC glEnableVertexAttribArray
 
PFNGLFRAMEBUFFERRENDERBUFFER glFramebufferRenderbuffer
 
PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D
 
PFNGLGENBUFFERSPROC glGenBuffers
 
PFNGLGENERATEMIPMAPPROC glGenerateMipmap
 
PFNGLGENFRAMEBUFFERSPROC glGenFramebuffers
 
PFNGLGENRENDERBUFFERS glGenRenderbuffers
 
PFNGLGENVERTEXARRAYSPROC glGenVertexArrays
 
PFNGLGETATTRIBLOCATIONPROC glGetAttribLocation
 
PFNGLGETPROGRAMINFOLOGPROC glGetProgramInfoLog
 
PFNGLGETPROGRAMIVPROC glGetProgramiv
 
PFNGLGETSHADERINFOLOGPROC glGetShaderInfoLog
 
PFNGLGETSHADERIVPROC glGetShaderiv
 
PFNGLGETUNIFORMBLOCKINDEXPROC glGetUniformBlockIndex
 
PFNGLGETUNIFORMLOCATIONPROC glGetUniformLocation
 
PFNGLLINKPROGRAMPROC glLinkProgram
 
PFNGLMAPBUFFERPROC glMapBuffer
 
PFNGLMAPBUFFERRANGEPROC glMapBufferRange
 
PFNGLRENDERBUFFERSTORAGE glRenderbufferStorage
 
PFNGLSHADERSOURCEPROC glShaderSource
 
PFNGLUNIFORM1FPROC glUniform1f
 
PFNGLUNIFORM1IPROC glUniform1i
 
PFNGLUNIFORM2FVPROC glUniform2fv
 
PFNGLUNIFORM3FVPROC glUniform3fv
 
PFNGLUNIFORM4FVPROC glUniform4fv
 
PFNGLUNIFORMBLOCKBINDINGPROC glUniformBlockBinding
 
PFNGLUNIFORMMATRIX3FVPROC glUniformMatrix3fv
 
PFNGLUNIFORMMATRIX3X2FVPROC glUniformMatrix3x2fv
 
PFNGLUNIFORMMATRIX4FVPROC glUniformMatrix4fv
 
PFNGLUNIFORMMATRIX4X2FVPROC glUniformMatrix4x2fv
 
PFNGLUNIFORMMATRIX4X3FVPROC glUniformMatrix4x3fv
 
PFNGLUNMAPBUFFERPROC glUnmapBuffer
 
PFNGLUSEPROGRAMPROC glUseProgram
 
PFNGLVERTEXATTRIBIPOINTERPROC glVertexAttribIPointer
 
PFNGLVERTEXATTRIBPOINTERPROC glVertexAttribPointer
 

Macro Definition Documentation

◆ GL_BGR

#define GL_BGR

◆ GL_BGRA

#define GL_BGRA

◆ GL_DEBUG_OUTPUT

#define GL_DEBUG_OUTPUT

Variable Documentation

◆ glActiveTexture

PFNGLACTIVETEXTUREPROC glActiveTexture

◆ glAttachShader

PFNGLATTACHSHADERPROC glAttachShader

◆ glBindAttribLocation

PFNGLBINDATTRIBLOCATIONPROC glBindAttribLocation

◆ glBindBuffer

PFNGLBINDBUFFERPROC glBindBuffer

◆ glBindBufferBase

PFNGLBINDBUFFERBASEPROC glBindBufferBase

◆ glBindFramebuffer

PFNGLBINDFRAMEBUFFERPROC glBindFramebuffer

◆ glBindRenderbuffer

PFNGLBINDRENDERBUFFER glBindRenderbuffer

◆ glBindVertexArray

PFNGLBINDVERTEXARRAYPROC glBindVertexArray

◆ glBlendFuncSeparate

PFNGLBLENDFUNCSEPARATEPROC glBlendFuncSeparate

◆ glBufferData

PFNGLBUFFERDATAPROC glBufferData

◆ glBufferSubData

PFNGLBUFFERSUBDATAPROC glBufferSubData

◆ glCheckFramebufferStatus

PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus

◆ glCompileShader

PFNGLCOMPILESHADERPROC glCompileShader

◆ glCreateProgram

PFNGLCREATEPROGRAMPROC glCreateProgram

◆ glCreateShader

PFNGLCREATESHADERPROC glCreateShader

◆ glDebugMessageCallback

PFNGLDEBUGMESSAGECALLBACKPROC glDebugMessageCallback

◆ glDeleteBuffers

PFNGLDELETEBUFFERSPROC glDeleteBuffers

◆ glDeleteFramebuffers

PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers

◆ glDeleteProgram

PFNGLDELETEPROGRAMPROC glDeleteProgram

◆ glDeleteRenderbuffers

PFNGLDELETERENDERBUFFERS glDeleteRenderbuffers

◆ glDeleteShader

PFNGLDELETESHADERPROC glDeleteShader

◆ glDeleteVertexArrays

PFNGLDELETEVERTEXARRAYSPROC glDeleteVertexArrays

◆ glDetachShader

PFNGLDETACHSHADERPROC glDetachShader

◆ glDrawBuffers

PFNGLDRAWBUFFERSPROC glDrawBuffers

◆ glEnableVertexAttribArray

PFNGLENABLEVERTEXATTRIBARRAYPROC glEnableVertexAttribArray

◆ glFramebufferRenderbuffer

PFNGLFRAMEBUFFERRENDERBUFFER glFramebufferRenderbuffer

◆ glFramebufferTexture2D

PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D

◆ glGenBuffers

PFNGLGENBUFFERSPROC glGenBuffers

◆ glGenerateMipmap

PFNGLGENERATEMIPMAPPROC glGenerateMipmap

◆ glGenFramebuffers

PFNGLGENFRAMEBUFFERSPROC glGenFramebuffers

◆ glGenRenderbuffers

PFNGLGENRENDERBUFFERS glGenRenderbuffers

◆ glGenVertexArrays

PFNGLGENVERTEXARRAYSPROC glGenVertexArrays

◆ glGetAttribLocation

PFNGLGETATTRIBLOCATIONPROC glGetAttribLocation

◆ glGetProgramInfoLog

PFNGLGETPROGRAMINFOLOGPROC glGetProgramInfoLog

◆ glGetProgramiv

PFNGLGETPROGRAMIVPROC glGetProgramiv

◆ glGetShaderInfoLog

PFNGLGETSHADERINFOLOGPROC glGetShaderInfoLog

◆ glGetShaderiv

PFNGLGETSHADERIVPROC glGetShaderiv

◆ glGetUniformBlockIndex

PFNGLGETUNIFORMBLOCKINDEXPROC glGetUniformBlockIndex

◆ glGetUniformLocation

PFNGLGETUNIFORMLOCATIONPROC glGetUniformLocation

◆ glLinkProgram

PFNGLLINKPROGRAMPROC glLinkProgram

◆ glMapBuffer

PFNGLMAPBUFFERPROC glMapBuffer

◆ glMapBufferRange

PFNGLMAPBUFFERRANGEPROC glMapBufferRange

◆ glRenderbufferStorage

PFNGLRENDERBUFFERSTORAGE glRenderbufferStorage

◆ glShaderSource

PFNGLSHADERSOURCEPROC glShaderSource

◆ glUniform1f

PFNGLUNIFORM1FPROC glUniform1f

◆ glUniform1i

PFNGLUNIFORM1IPROC glUniform1i

◆ glUniform2fv

PFNGLUNIFORM2FVPROC glUniform2fv

◆ glUniform3fv

PFNGLUNIFORM3FVPROC glUniform3fv

◆ glUniform4fv

PFNGLUNIFORM4FVPROC glUniform4fv

◆ glUniformBlockBinding

PFNGLUNIFORMBLOCKBINDINGPROC glUniformBlockBinding

◆ glUniformMatrix3fv

PFNGLUNIFORMMATRIX3FVPROC glUniformMatrix3fv

◆ glUniformMatrix3x2fv

PFNGLUNIFORMMATRIX3X2FVPROC glUniformMatrix3x2fv

◆ glUniformMatrix4fv

PFNGLUNIFORMMATRIX4FVPROC glUniformMatrix4fv

◆ glUniformMatrix4x2fv

PFNGLUNIFORMMATRIX4X2FVPROC glUniformMatrix4x2fv

◆ glUniformMatrix4x3fv

PFNGLUNIFORMMATRIX4X3FVPROC glUniformMatrix4x3fv

◆ glUnmapBuffer

PFNGLUNMAPBUFFERPROC glUnmapBuffer

◆ glUseProgram

PFNGLUSEPROGRAMPROC glUseProgram

◆ glVertexAttribIPointer

PFNGLVERTEXATTRIBIPOINTERPROC glVertexAttribIPointer

◆ glVertexAttribPointer

PFNGLVERTEXATTRIBPOINTERPROC glVertexAttribPointer