Replaced OpenGL namespace with static class
Fixed OpenGL functions not being exported It is also more consistent Former-commit-id: 3eddcb6f72412443eb56580180d0b9544ae4a9df
This commit is contained in:
parent
73fdb9baaf
commit
68c6aa664a
|
|
@ -43,12 +43,13 @@ enum nzOpenGLExtension
|
||||||
|
|
||||||
using NzOpenGLFunc = void (*)();
|
using NzOpenGLFunc = void (*)();
|
||||||
|
|
||||||
namespace NzOpenGL
|
class NAZARA_API NzOpenGL
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
enum FormatType
|
enum FormatType
|
||||||
{
|
{
|
||||||
FormatType_RenderBuffer,
|
FormatType_RenderBuffer,
|
||||||
// FormatType_MultisampleTexture,
|
// FormatType_MultisampleTexture,
|
||||||
FormatType_Texture
|
FormatType_Texture
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -59,36 +60,36 @@ namespace NzOpenGL
|
||||||
GLint internalFormat;
|
GLint internalFormat;
|
||||||
};
|
};
|
||||||
|
|
||||||
NzOpenGLFunc GetEntry(const NzString& entryPoint);
|
static NzOpenGLFunc GetEntry(const NzString& entryPoint);
|
||||||
unsigned int GetVersion();
|
static unsigned int GetVersion();
|
||||||
bool Initialize();
|
static bool Initialize();
|
||||||
bool IsSupported(nzOpenGLExtension extension);
|
static bool IsSupported(nzOpenGLExtension extension);
|
||||||
bool IsSupported(const NzString& string);
|
static bool IsSupported(const NzString& string);
|
||||||
bool TranslateFormat(nzPixelFormat pixelFormat, Format* format, FormatType target);
|
static bool TranslateFormat(nzPixelFormat pixelFormat, Format* format, FormatType target);
|
||||||
void Uninitialize();
|
static void Uninitialize();
|
||||||
|
|
||||||
extern GLenum Attachment[nzAttachmentPoint_Max+1];
|
static GLenum Attachment[nzAttachmentPoint_Max+1];
|
||||||
extern nzUInt8 AttributeIndex[nzElementUsage_Max+1];
|
static nzUInt8 AttributeIndex[nzElementUsage_Max+1];
|
||||||
extern GLenum BlendFunc[nzBlendFunc_Max+1];
|
static GLenum BlendFunc[nzBlendFunc_Max+1];
|
||||||
extern GLenum BufferLock[nzBufferAccess_Max+1];
|
static GLenum BufferLock[nzBufferAccess_Max+1];
|
||||||
extern GLenum BufferLockRange[nzBufferAccess_Max+1];
|
static GLenum BufferLockRange[nzBufferAccess_Max+1];
|
||||||
extern GLenum BufferTarget[nzBufferType_Max+1];
|
static GLenum BufferTarget[nzBufferType_Max+1];
|
||||||
extern GLenum BufferTargetBinding[nzBufferType_Max+1];
|
static GLenum BufferTargetBinding[nzBufferType_Max+1];
|
||||||
extern GLenum BufferUsage[nzBufferUsage_Max+1];
|
static GLenum BufferUsage[nzBufferUsage_Max+1];
|
||||||
extern GLenum CubemapFace[6]; // Un cube possède six faces et ça n'est pas prêt de changer
|
static GLenum CubemapFace[6]; // Un cube possède six faces et ça n'est pas prêt de changer
|
||||||
extern GLenum ElementType[nzElementType_Max+1];
|
static GLenum ElementType[nzElementType_Max+1];
|
||||||
extern GLenum FaceCulling[nzFaceCulling_Max+1];
|
static GLenum FaceCulling[nzFaceCulling_Max+1];
|
||||||
extern GLenum FaceFilling[nzFaceFilling_Max+1];
|
static GLenum FaceFilling[nzFaceFilling_Max+1];
|
||||||
extern GLenum PrimitiveType[nzPrimitiveType_Max+1];
|
static GLenum PrimitiveType[nzPrimitiveType_Max+1];
|
||||||
extern GLenum RendererComparison[nzRendererComparison_Max+1];
|
static GLenum RendererComparison[nzRendererComparison_Max+1];
|
||||||
extern GLenum RendererParameter[nzRendererParameter_Max+1];
|
static GLenum RendererParameter[nzRendererParameter_Max+1];
|
||||||
extern GLenum ShaderType[nzShaderType_Max+1];
|
static GLenum ShaderType[nzShaderType_Max+1];
|
||||||
extern GLenum StencilOperation[nzStencilOperation_Max+1];
|
static GLenum StencilOperation[nzStencilOperation_Max+1];
|
||||||
extern GLenum TextureTarget[nzImageType_Max+1];
|
static GLenum TextureTarget[nzImageType_Max+1];
|
||||||
extern GLenum TextureTargetBinding[nzImageType_Max+1];
|
static GLenum TextureTargetBinding[nzImageType_Max+1];
|
||||||
extern GLenum TextureTargetProxy[nzImageType_Max+1];
|
static GLenum TextureTargetProxy[nzImageType_Max+1];
|
||||||
extern GLenum TextureWrapMode[nzTextureWrap_Max+1];
|
static GLenum TextureWrapMode[nzTextureWrap_Max+1];
|
||||||
}
|
};
|
||||||
|
|
||||||
NAZARA_API extern PFNGLACTIVETEXTUREPROC glActiveTexture;
|
NAZARA_API extern PFNGLACTIVETEXTUREPROC glActiveTexture;
|
||||||
NAZARA_API extern PFNGLATTACHSHADERPROC glAttachShader;
|
NAZARA_API extern PFNGLATTACHSHADERPROC glAttachShader;
|
||||||
|
|
|
||||||
|
|
@ -106,20 +106,18 @@ namespace
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace NzOpenGL
|
NzOpenGLFunc NzOpenGL::GetEntry(const NzString& entryPoint)
|
||||||
{
|
{
|
||||||
NzOpenGLFunc GetEntry(const NzString& entryPoint)
|
|
||||||
{
|
|
||||||
return LoadEntry(entryPoint.GetConstBuffer(), false);
|
return LoadEntry(entryPoint.GetConstBuffer(), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int GetVersion()
|
unsigned int NzOpenGL::GetVersion()
|
||||||
{
|
{
|
||||||
return openGLversion;
|
return openGLversion;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Initialize()
|
bool NzOpenGL::Initialize()
|
||||||
{
|
{
|
||||||
if (!LoadLibrary())
|
if (!LoadLibrary())
|
||||||
{
|
{
|
||||||
NazaraError("Failed to load OpenGL library");
|
NazaraError("Failed to load OpenGL library");
|
||||||
|
|
@ -554,20 +552,20 @@ namespace NzOpenGL
|
||||||
NzContextParameters::defaultShareContext = NzContext::GetReference();
|
NzContextParameters::defaultShareContext = NzContext::GetReference();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IsSupported(nzOpenGLExtension extension)
|
bool NzOpenGL::IsSupported(nzOpenGLExtension extension)
|
||||||
{
|
{
|
||||||
return openGLextensions[extension];
|
return openGLextensions[extension];
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IsSupported(const NzString& string)
|
bool NzOpenGL::IsSupported(const NzString& string)
|
||||||
{
|
{
|
||||||
return openGLextensionSet.find(string) != openGLextensionSet.end();
|
return openGLextensionSet.find(string) != openGLextensionSet.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TranslateFormat(nzPixelFormat pixelFormat, Format* format, FormatType type)
|
bool NzOpenGL::TranslateFormat(nzPixelFormat pixelFormat, Format* format, FormatType type)
|
||||||
{
|
{
|
||||||
switch (pixelFormat)
|
switch (pixelFormat)
|
||||||
{
|
{
|
||||||
case nzPixelFormat_BGR8:
|
case nzPixelFormat_BGR8:
|
||||||
|
|
@ -702,10 +700,10 @@ namespace NzOpenGL
|
||||||
|
|
||||||
NazaraError("Invalid pixel format");
|
NazaraError("Invalid pixel format");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Uninitialize()
|
void NzOpenGL::Uninitialize()
|
||||||
{
|
{
|
||||||
NzContext::Uninitialize();
|
NzContext::Uninitialize();
|
||||||
|
|
||||||
for (bool& ext : openGLextensions)
|
for (bool& ext : openGLextensions)
|
||||||
|
|
@ -715,28 +713,28 @@ namespace NzOpenGL
|
||||||
openGLversion = 0;
|
openGLversion = 0;
|
||||||
|
|
||||||
UnloadLibrary();
|
UnloadLibrary();
|
||||||
}
|
}
|
||||||
|
|
||||||
GLenum Attachment[nzAttachmentPoint_Max+1] =
|
GLenum NzOpenGL::Attachment[nzAttachmentPoint_Max+1] =
|
||||||
{
|
{
|
||||||
GL_COLOR_ATTACHMENT0, // nzAttachmentPoint_Color
|
GL_COLOR_ATTACHMENT0, // nzAttachmentPoint_Color
|
||||||
GL_DEPTH_ATTACHMENT, // nzAttachmentPoint_Depth
|
GL_DEPTH_ATTACHMENT, // nzAttachmentPoint_Depth
|
||||||
GL_DEPTH_STENCIL_ATTACHMENT, // nzAttachmentPoint_DepthStencil
|
GL_DEPTH_STENCIL_ATTACHMENT, // nzAttachmentPoint_DepthStencil
|
||||||
GL_STENCIL_ATTACHMENT // nzAttachmentPoint_Stencil
|
GL_STENCIL_ATTACHMENT // nzAttachmentPoint_Stencil
|
||||||
};
|
};
|
||||||
|
|
||||||
nzUInt8 AttributeIndex[nzElementUsage_Max+1] =
|
nzUInt8 NzOpenGL::AttributeIndex[nzElementUsage_Max+1] =
|
||||||
{
|
{
|
||||||
2, // nzElementUsage_Diffuse
|
2, // nzElementUsage_Diffuse
|
||||||
1, // nzElementUsage_Normal
|
1, // nzElementUsage_Normal
|
||||||
0, // nzElementUsage_Position
|
0, // nzElementUsage_Position
|
||||||
3, // nzElementUsage_Tangent
|
3, // nzElementUsage_Tangent
|
||||||
|
|
||||||
4 // nzElementUsage_TexCoord (Doit être le dernier de la liste car extensible)
|
4 // nzElementUsage_TexCoord (Doit être le dernier de la liste car extensible)
|
||||||
};
|
};
|
||||||
|
|
||||||
GLenum BlendFunc[nzBlendFunc_Max+1] =
|
GLenum NzOpenGL::BlendFunc[nzBlendFunc_Max+1] =
|
||||||
{
|
{
|
||||||
GL_DST_ALPHA, // nzBlendFunc_DestAlpha
|
GL_DST_ALPHA, // nzBlendFunc_DestAlpha
|
||||||
GL_DST_COLOR, // nzBlendFunc_DestColor
|
GL_DST_COLOR, // nzBlendFunc_DestColor
|
||||||
GL_SRC_ALPHA, // nzBlendFunc_SrcAlpha
|
GL_SRC_ALPHA, // nzBlendFunc_SrcAlpha
|
||||||
|
|
@ -747,57 +745,57 @@ namespace NzOpenGL
|
||||||
GL_ONE_MINUS_SRC_COLOR, // nzBlendFunc_InvSrcColor
|
GL_ONE_MINUS_SRC_COLOR, // nzBlendFunc_InvSrcColor
|
||||||
GL_ONE, // nzBlendFunc_One
|
GL_ONE, // nzBlendFunc_One
|
||||||
GL_ZERO // nzBlendFunc_Zero
|
GL_ZERO // nzBlendFunc_Zero
|
||||||
};
|
};
|
||||||
|
|
||||||
GLenum BufferLock[nzBufferAccess_Max+1] =
|
GLenum NzOpenGL::BufferLock[nzBufferAccess_Max+1] =
|
||||||
{
|
{
|
||||||
GL_WRITE_ONLY, // nzBufferAccess_DiscardAndWrite
|
GL_WRITE_ONLY, // nzBufferAccess_DiscardAndWrite
|
||||||
GL_READ_ONLY, // nzBufferAccess_ReadOnly
|
GL_READ_ONLY, // nzBufferAccess_ReadOnly
|
||||||
GL_READ_WRITE, // nzBufferAccess_ReadWrite
|
GL_READ_WRITE, // nzBufferAccess_ReadWrite
|
||||||
GL_WRITE_ONLY // nzBufferAccess_WriteOnly
|
GL_WRITE_ONLY // nzBufferAccess_WriteOnly
|
||||||
};
|
};
|
||||||
|
|
||||||
GLenum BufferLockRange[nzBufferAccess_Max+1] =
|
GLenum NzOpenGL::BufferLockRange[nzBufferAccess_Max+1] =
|
||||||
{
|
{
|
||||||
GL_MAP_INVALIDATE_BUFFER_BIT | GL_MAP_WRITE_BIT, // nzBufferAccess_DiscardAndWrite
|
GL_MAP_INVALIDATE_BUFFER_BIT | GL_MAP_WRITE_BIT, // nzBufferAccess_DiscardAndWrite
|
||||||
GL_MAP_READ_BIT, // nzBufferAccess_ReadOnly
|
GL_MAP_READ_BIT, // nzBufferAccess_ReadOnly
|
||||||
GL_MAP_READ_BIT | GL_MAP_WRITE_BIT, // nzBufferAccess_ReadWrite
|
GL_MAP_READ_BIT | GL_MAP_WRITE_BIT, // nzBufferAccess_ReadWrite
|
||||||
GL_MAP_WRITE_BIT // nzBufferAccess_WriteOnly
|
GL_MAP_WRITE_BIT // nzBufferAccess_WriteOnly
|
||||||
};
|
};
|
||||||
|
|
||||||
GLenum BufferTarget[nzBufferType_Max+1] =
|
GLenum NzOpenGL::BufferTarget[nzBufferType_Max+1] =
|
||||||
{
|
{
|
||||||
GL_ELEMENT_ARRAY_BUFFER, // nzBufferType_Index,
|
GL_ELEMENT_ARRAY_BUFFER, // nzBufferType_Index,
|
||||||
GL_ARRAY_BUFFER, // nzBufferType_Vertex
|
GL_ARRAY_BUFFER, // nzBufferType_Vertex
|
||||||
};
|
};
|
||||||
|
|
||||||
GLenum BufferTargetBinding[nzBufferType_Max+1] =
|
GLenum NzOpenGL::BufferTargetBinding[nzBufferType_Max+1] =
|
||||||
{
|
{
|
||||||
GL_ELEMENT_ARRAY_BUFFER_BINDING, // nzBufferType_Index,
|
GL_ELEMENT_ARRAY_BUFFER_BINDING, // nzBufferType_Index,
|
||||||
GL_ARRAY_BUFFER_BINDING, // nzBufferType_Vertex
|
GL_ARRAY_BUFFER_BINDING, // nzBufferType_Vertex
|
||||||
};
|
};
|
||||||
|
|
||||||
GLenum BufferUsage[nzBufferUsage_Max+1] =
|
GLenum NzOpenGL::BufferUsage[nzBufferUsage_Max+1] =
|
||||||
{
|
{
|
||||||
// J'ai choisi DYNAMIC à la place de STREAM car DYNAMIC semble plus adapté au profil "une mise à jour pour quelques rendus"
|
// J'ai choisi DYNAMIC à la place de STREAM car DYNAMIC semble plus adapté au profil "une mise à jour pour quelques rendus"
|
||||||
// Ce qui est je pense le scénario qui arrivera le plus souvent (Prévoir une option pour permettre d'utiliser le STREAM_DRAW ?)
|
// Ce qui est je pense le scénario qui arrivera le plus souvent (Prévoir une option pour permettre d'utiliser le STREAM_DRAW ?)
|
||||||
// Source: http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=160839
|
// Source: http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=160839
|
||||||
GL_DYNAMIC_DRAW, // nzBufferUsage_Dynamic
|
GL_DYNAMIC_DRAW, // nzBufferUsage_Dynamic
|
||||||
GL_STATIC_DRAW // nzBufferUsage_Static
|
GL_STATIC_DRAW // nzBufferUsage_Static
|
||||||
};
|
};
|
||||||
|
|
||||||
GLenum CubemapFace[6] =
|
GLenum NzOpenGL::CubemapFace[6] =
|
||||||
{
|
{
|
||||||
GL_TEXTURE_CUBE_MAP_POSITIVE_X, // nzCubemapFace_PositiveX
|
GL_TEXTURE_CUBE_MAP_POSITIVE_X, // nzCubemapFace_PositiveX
|
||||||
GL_TEXTURE_CUBE_MAP_NEGATIVE_X, // nzCubemapFace_NegativeX
|
GL_TEXTURE_CUBE_MAP_NEGATIVE_X, // nzCubemapFace_NegativeX
|
||||||
GL_TEXTURE_CUBE_MAP_POSITIVE_Y, // nzCubemapFace_PositiveY
|
GL_TEXTURE_CUBE_MAP_POSITIVE_Y, // nzCubemapFace_PositiveY
|
||||||
GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, // nzCubemapFace_NegativeY
|
GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, // nzCubemapFace_NegativeY
|
||||||
GL_TEXTURE_CUBE_MAP_POSITIVE_Z, // nzCubemapFace_PositiveZ
|
GL_TEXTURE_CUBE_MAP_POSITIVE_Z, // nzCubemapFace_PositiveZ
|
||||||
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z // nzCubemapFace_NegativeZ
|
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z // nzCubemapFace_NegativeZ
|
||||||
};
|
};
|
||||||
|
|
||||||
GLenum ElementType[nzElementType_Max+1] =
|
GLenum NzOpenGL::ElementType[nzElementType_Max+1] =
|
||||||
{
|
{
|
||||||
GL_UNSIGNED_BYTE, // nzElementType_Color
|
GL_UNSIGNED_BYTE, // nzElementType_Color
|
||||||
GL_DOUBLE, // nzElementType_Double1
|
GL_DOUBLE, // nzElementType_Double1
|
||||||
GL_DOUBLE, // nzElementType_Double2
|
GL_DOUBLE, // nzElementType_Double2
|
||||||
|
|
@ -807,34 +805,34 @@ namespace NzOpenGL
|
||||||
GL_FLOAT, // nzElementType_Float2
|
GL_FLOAT, // nzElementType_Float2
|
||||||
GL_FLOAT, // nzElementType_Float3
|
GL_FLOAT, // nzElementType_Float3
|
||||||
GL_FLOAT // nzElementType_Float4
|
GL_FLOAT // nzElementType_Float4
|
||||||
};
|
};
|
||||||
|
|
||||||
GLenum FaceCulling[nzFaceCulling_Max+1] =
|
GLenum NzOpenGL::FaceCulling[nzFaceCulling_Max+1] =
|
||||||
{
|
{
|
||||||
GL_BACK, // nzFaceCulling_Back
|
GL_BACK, // nzFaceCulling_Back
|
||||||
GL_FRONT, // nzFaceCulling_Front
|
GL_FRONT, // nzFaceCulling_Front
|
||||||
GL_FRONT_AND_BACK // nzFaceCulling_FrontAndBack
|
GL_FRONT_AND_BACK // nzFaceCulling_FrontAndBack
|
||||||
};
|
};
|
||||||
|
|
||||||
GLenum FaceFilling[nzFaceFilling_Max+1] =
|
GLenum NzOpenGL::FaceFilling[nzFaceFilling_Max+1] =
|
||||||
{
|
{
|
||||||
GL_POINT, // nzFaceFilling_Point
|
GL_POINT, // nzFaceFilling_Point
|
||||||
GL_LINE, // nzFaceFilling_Line
|
GL_LINE, // nzFaceFilling_Line
|
||||||
GL_FILL // nzFaceFilling_Fill
|
GL_FILL // nzFaceFilling_Fill
|
||||||
};
|
};
|
||||||
|
|
||||||
GLenum PrimitiveType[nzPrimitiveType_Max+1] =
|
GLenum NzOpenGL::PrimitiveType[nzPrimitiveType_Max+1] =
|
||||||
{
|
{
|
||||||
GL_LINES, // nzPrimitiveType_LineList,
|
GL_LINES, // nzPrimitiveType_LineList,
|
||||||
GL_LINE_STRIP, // nzPrimitiveType_LineStrip,
|
GL_LINE_STRIP, // nzPrimitiveType_LineStrip,
|
||||||
GL_POINTS, // nzPrimitiveType_PointList,
|
GL_POINTS, // nzPrimitiveType_PointList,
|
||||||
GL_TRIANGLES, // nzPrimitiveType_TriangleList,
|
GL_TRIANGLES, // nzPrimitiveType_TriangleList,
|
||||||
GL_TRIANGLE_STRIP, // nzPrimitiveType_TriangleStrip,
|
GL_TRIANGLE_STRIP, // nzPrimitiveType_TriangleStrip,
|
||||||
GL_TRIANGLE_FAN // nzPrimitiveType_TriangleFan
|
GL_TRIANGLE_FAN // nzPrimitiveType_TriangleFan
|
||||||
};
|
};
|
||||||
|
|
||||||
GLenum RendererComparison[nzRendererComparison_Max+1] =
|
GLenum NzOpenGL::RendererComparison[nzRendererComparison_Max+1] =
|
||||||
{
|
{
|
||||||
GL_ALWAYS, // nzRendererComparison_Always
|
GL_ALWAYS, // nzRendererComparison_Always
|
||||||
GL_EQUAL, // nzRendererComparison_Equal
|
GL_EQUAL, // nzRendererComparison_Equal
|
||||||
GL_GREATER, // nzRendererComparison_Greater
|
GL_GREATER, // nzRendererComparison_Greater
|
||||||
|
|
@ -842,27 +840,27 @@ namespace NzOpenGL
|
||||||
GL_LESS, // nzRendererComparison_Less
|
GL_LESS, // nzRendererComparison_Less
|
||||||
GL_LEQUAL, // nzRendererComparison_LessOrEqual
|
GL_LEQUAL, // nzRendererComparison_LessOrEqual
|
||||||
GL_NEVER // nzRendererComparison_Never
|
GL_NEVER // nzRendererComparison_Never
|
||||||
};
|
};
|
||||||
|
|
||||||
GLenum RendererParameter[nzRendererParameter_Max+1] =
|
GLenum NzOpenGL::RendererParameter[nzRendererParameter_Max+1] =
|
||||||
{
|
{
|
||||||
GL_BLEND, // nzRendererParameter_Blend
|
GL_BLEND, // nzRendererParameter_Blend
|
||||||
GL_NONE, // nzRendererParameter_ColorWrite
|
GL_NONE, // nzRendererParameter_ColorWrite
|
||||||
GL_DEPTH_TEST, // nzRendererParameter_DepthTest
|
GL_DEPTH_TEST, // nzRendererParameter_DepthTest
|
||||||
GL_NONE, // nzRendererParameter_DepthWrite
|
GL_NONE, // nzRendererParameter_DepthWrite
|
||||||
GL_CULL_FACE, // nzRendererParameter_FaceCulling
|
GL_CULL_FACE, // nzRendererParameter_FaceCulling
|
||||||
GL_STENCIL_TEST // nzRendererParameter_Stencil
|
GL_STENCIL_TEST // nzRendererParameter_Stencil
|
||||||
};
|
};
|
||||||
|
|
||||||
GLenum ShaderType[nzShaderType_Max+1] =
|
GLenum NzOpenGL::ShaderType[nzShaderType_Max+1] =
|
||||||
{
|
{
|
||||||
GL_FRAGMENT_SHADER, // nzShaderType_Fragment
|
GL_FRAGMENT_SHADER, // nzShaderType_Fragment
|
||||||
GL_GEOMETRY_SHADER, // nzShaderType_Geometry
|
GL_GEOMETRY_SHADER, // nzShaderType_Geometry
|
||||||
GL_VERTEX_SHADER // nzShaderType_Vertex
|
GL_VERTEX_SHADER // nzShaderType_Vertex
|
||||||
};
|
};
|
||||||
|
|
||||||
GLenum StencilOperation[nzStencilOperation_Max+1] =
|
GLenum NzOpenGL::StencilOperation[nzStencilOperation_Max+1] =
|
||||||
{
|
{
|
||||||
GL_DECR, // nzStencilOperation_Decrement
|
GL_DECR, // nzStencilOperation_Decrement
|
||||||
GL_DECR_WRAP, // nzStencilOperation_DecrementToSaturation
|
GL_DECR_WRAP, // nzStencilOperation_DecrementToSaturation
|
||||||
GL_INCR, // nzStencilOperation_Increment
|
GL_INCR, // nzStencilOperation_Increment
|
||||||
|
|
@ -871,44 +869,43 @@ namespace NzOpenGL
|
||||||
GL_KEEP, // nzStencilOperation_Keep
|
GL_KEEP, // nzStencilOperation_Keep
|
||||||
GL_REPLACE, // nzStencilOperation_Replace
|
GL_REPLACE, // nzStencilOperation_Replace
|
||||||
GL_ZERO // nzStencilOperation_Zero
|
GL_ZERO // nzStencilOperation_Zero
|
||||||
};
|
};
|
||||||
|
|
||||||
GLenum TextureTarget[nzImageType_Max+1] =
|
GLenum NzOpenGL::TextureTarget[nzImageType_Max+1] =
|
||||||
{
|
{
|
||||||
GL_TEXTURE_1D, // nzImageType_1D
|
GL_TEXTURE_1D, // nzImageType_1D
|
||||||
GL_TEXTURE_1D_ARRAY, // nzImageType_1D_Array
|
GL_TEXTURE_1D_ARRAY, // nzImageType_1D_Array
|
||||||
GL_TEXTURE_2D, // nzImageType_2D
|
GL_TEXTURE_2D, // nzImageType_2D
|
||||||
GL_TEXTURE_2D_ARRAY, // nzImageType_2D_Array
|
GL_TEXTURE_2D_ARRAY, // nzImageType_2D_Array
|
||||||
GL_TEXTURE_3D, // nzImageType_3D
|
GL_TEXTURE_3D, // nzImageType_3D
|
||||||
GL_TEXTURE_CUBE_MAP // nzImageType_Cubemap
|
GL_TEXTURE_CUBE_MAP // nzImageType_Cubemap
|
||||||
};
|
};
|
||||||
|
|
||||||
GLenum TextureTargetBinding[nzImageType_Max+1] =
|
GLenum NzOpenGL::TextureTargetBinding[nzImageType_Max+1] =
|
||||||
{
|
{
|
||||||
GL_TEXTURE_BINDING_1D, // nzImageType_1D
|
GL_TEXTURE_BINDING_1D, // nzImageType_1D
|
||||||
GL_TEXTURE_BINDING_1D_ARRAY, // nzImageType_1D_Array
|
GL_TEXTURE_BINDING_1D_ARRAY, // nzImageType_1D_Array
|
||||||
GL_TEXTURE_BINDING_2D, // nzImageType_2D
|
GL_TEXTURE_BINDING_2D, // nzImageType_2D
|
||||||
GL_TEXTURE_BINDING_2D_ARRAY, // nzImageType_2D_Array
|
GL_TEXTURE_BINDING_2D_ARRAY, // nzImageType_2D_Array
|
||||||
GL_TEXTURE_BINDING_3D, // nzImageType_3D
|
GL_TEXTURE_BINDING_3D, // nzImageType_3D
|
||||||
GL_TEXTURE_BINDING_CUBE_MAP // nzImageType_Cubemap
|
GL_TEXTURE_BINDING_CUBE_MAP // nzImageType_Cubemap
|
||||||
};
|
};
|
||||||
|
|
||||||
GLenum TextureTargetProxy[nzImageType_Max+1] =
|
GLenum NzOpenGL::TextureTargetProxy[nzImageType_Max+1] =
|
||||||
{
|
{
|
||||||
GL_PROXY_TEXTURE_1D, // nzImageType_1D
|
GL_PROXY_TEXTURE_1D, // nzImageType_1D
|
||||||
GL_PROXY_TEXTURE_1D_ARRAY, // nzImageType_1D_Array
|
GL_PROXY_TEXTURE_1D_ARRAY, // nzImageType_1D_Array
|
||||||
GL_PROXY_TEXTURE_2D, // nzImageType_2D
|
GL_PROXY_TEXTURE_2D, // nzImageType_2D
|
||||||
GL_PROXY_TEXTURE_2D_ARRAY, // nzImageType_2D_Array
|
GL_PROXY_TEXTURE_2D_ARRAY, // nzImageType_2D_Array
|
||||||
GL_PROXY_TEXTURE_3D, // nzImageType_3D
|
GL_PROXY_TEXTURE_3D, // nzImageType_3D
|
||||||
GL_PROXY_TEXTURE_CUBE_MAP // nzImageType_Cubemap
|
GL_PROXY_TEXTURE_CUBE_MAP // nzImageType_Cubemap
|
||||||
};
|
};
|
||||||
|
|
||||||
GLenum TextureWrapMode[nzTextureWrap_Max+1] =
|
GLenum NzOpenGL::TextureWrapMode[nzTextureWrap_Max+1] =
|
||||||
{
|
{
|
||||||
GL_CLAMP_TO_EDGE, // nzTextureWrap_Clamp
|
GL_CLAMP_TO_EDGE, // nzTextureWrap_Clamp
|
||||||
GL_REPEAT // nzTextureWrap_Repeat
|
GL_REPEAT // nzTextureWrap_Repeat
|
||||||
};
|
};
|
||||||
}
|
|
||||||
|
|
||||||
PFNGLACTIVETEXTUREPROC glActiveTexture = nullptr;
|
PFNGLACTIVETEXTUREPROC glActiveTexture = nullptr;
|
||||||
PFNGLATTACHSHADERPROC glAttachShader = nullptr;
|
PFNGLATTACHSHADERPROC glAttachShader = nullptr;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue