Why sometimes after the next calls:
TakeOpenGL();
glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &TextureWidth);
glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_HEIGHT, &TextureHeight);
FreeOpenGL();
variables Texture* have incorrect values?
Im using OpenGL mutex, which doing the next:
void TakeOpenGL(){
OpenGL.Enter();
wglMakeCurrent(hDC, hRC);
}
void FreeOpenGL(){
OpenGL.Leave();
wglMakeCurrent(0, 0);
}
What problems?
You can’t call
wglMakeCurrentwithout holding the mutex. YourFreeOpenGLfunction does this.