Added OpenGL::BindTexture(unit, type, id)
+ Fixed OpenGL::DeleteTexture Former-commit-id: 124ac3316f604e436378aed8d663f0d2b5889cd3
This commit is contained in:
parent
ad2c66bbb3
commit
c484bd38c9
|
|
@ -68,6 +68,7 @@ class NAZARA_API NzOpenGL
|
|||
static void BindBuffer(nzBufferType type, GLuint id);
|
||||
static void BindProgram(GLuint id);
|
||||
static void BindTexture(nzImageType type, GLuint id);
|
||||
static void BindTexture(unsigned int textureUnit, nzImageType type, GLuint id);
|
||||
|
||||
static void DeleteBuffer(nzBufferType type, GLuint id);
|
||||
static void DeleteProgram(GLuint id);
|
||||
|
|
|
|||
|
|
@ -141,6 +141,17 @@ void NzOpenGL::BindTexture(nzImageType type, GLuint id)
|
|||
}
|
||||
}
|
||||
|
||||
void NzOpenGL::BindTexture(unsigned int textureUnit, nzImageType type, GLuint id)
|
||||
{
|
||||
if (s_texturesBinding[textureUnit] != id)
|
||||
{
|
||||
SetTextureUnit(textureUnit);
|
||||
|
||||
glBindTexture(TextureTarget[type], id);
|
||||
s_texturesBinding[textureUnit] = id;
|
||||
}
|
||||
}
|
||||
|
||||
void NzOpenGL::DeleteBuffer(nzBufferType type, GLuint id)
|
||||
{
|
||||
glDeleteBuffers(1, &id);
|
||||
|
|
@ -158,8 +169,12 @@ void NzOpenGL::DeleteProgram(GLuint id)
|
|||
void NzOpenGL::DeleteTexture(GLuint id)
|
||||
{
|
||||
glDeleteTextures(1, &id);
|
||||
if (s_texturesBinding[s_textureUnit] == id)
|
||||
s_texturesBinding[s_textureUnit] = 0;
|
||||
|
||||
for (GLuint& binding : s_texturesBinding)
|
||||
{
|
||||
if (binding == id)
|
||||
binding = 0;
|
||||
}
|
||||
}
|
||||
|
||||
GLuint NzOpenGL::GetCurrentBuffer(nzBufferType type)
|
||||
|
|
|
|||
Loading…
Reference in New Issue