While working with a distributed rendering api I ran into a problem with texturing.
I could only get textures to work if I moved the following code
if (GLEE_ARB_texture_rectangle){
textureTarget = GL_TEXTURE_RECTANGLE_ARB;
} else {
textureTarget = GL_TEXTURE_2D;
}
from the constructor of ofTexture to the beginning of ofTexture::allocate. The problem was that when the constructor was called the texture target was being selected as GL_TEXTURE_2D, when in fact it was later reported as GL_TEXTURE_RECTANGLE_ARB.
As far as I can tell, you always have to call ofTexture::allocate. In this case it seems it would be fine to move that code there.