Hi,
my graphics card (6800) support the 3D texture with the resolution 512^3, but if I upload the 3D texture with this resolution, I see just white quad. glGetError returns GL_NO_ERROR. If I use 513^3, glGetError returns GL_INVALID_ENUM. If I use 481^3, glGetError returns GL_NO_ERROR and I see what I expect. If I use lower resolutions like 481 everything is ok. If I use higher resolutions like 481 I see white quad with GL_NO_ERROR.
My question is: how can I exactly know the “correct” resolution of the 3D texture?
Is it restriction of memory?
I had same problem with gf4600Ti, gf5200.
Thanks.
PS:
glGenTextures(1, &volume->tex3d);
glBindTexture(GL_TEXTURE_3D,volume->tex3d);
glTexParameterf(GL_TEXTURE_3D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_3D,GL_TEXTURE_WRAP_S,GL_CLAMP);
glTexParameterf(GL_TEXTURE_3D,GL_TEXTURE_WRAP_T,GL_CLAMP);
glTexParameterf(GL_TEXTURE_3D,GL_TEXTURE_WRAP_R_EXT,GL_CLAMP);
glTexImage3D(GL_TEXTURE_3D,0,GL_INTENSITY,Resx,Resy,Resz,0,GL_LUMINANCE, GL_UNSIGNED_BYTE, data);