it’s my first post on the forum, so hello everyone!
I decided to write as I couldn’t find any answer by searching the forum nor by myself…
The problem is with the GL_MAX_TEXTURE_SIZE.
I have checked that my built-in graphics card supports textures up to 512x512 only.
If I tun the juce opengl demo and make any dimension of the window greater than 512 I get black background instead of rendered graphics (if I make it lower, everything is fine again). I debug mode thanks to JUCE_CHECK_OPENGL_ERROR I can see that the problem is connected with the glTexImage2D function run from the OpenGLFrameBuffer constructor (in the juce_OpenGLFrameBuffer.cpp file) - it gives GL_INVALID_VALUE (and it’s because of the window size). The problem occurs even if create completely empty opengl window…
I didn’t have any problems with OpenGL in other OpenGL projects (created using glut) or in games, even with window sizes greater than 512x512, so I assume it’s the juce-specific problem.
Is that common!?? Even the smallest mobile GPUs support larger textures than that!
Not sure what I could do about it… For me to change the Image class so that it can handle larger images made up of multiple smaller tiles would be enormously complicated, and presumably if your GPU can’t handle a bigger texture, it’d probably run out of memory anyway, so is probably futile.
Thanks a lot for a very quick response master!
I don’t think changing anything in JUCE would be the correct solution. Of course the very good question was if it was a common max_texture_size or not for modern intel-based built-in graphics. Even if I fix it on my computer (or find a better machine:) ) it may not run on other people’s computers… But by googling a little bit it looks like some common max texture sizes for modern drivers are 4096x4096 or even twice larger, so we shouldn’t be worried, should we?
I thought I have the latest drivers, but I will check it and let you know.
By the way, the very similar post (not answered yet!): http://communities.intel.com/thread/14394
(my Windows is 32bit by the way…).
I don’t think so - I’d be surprised if any hardware that’s modern enough to run GL2.0 would be limited to such a small texture.
OK, updated the drivers to the version from july 2012 and now max texture size is 8192x8192 and the juce opengl demo works fine.
The good question would be why 2011 drivers for Intel Core i5 supported only so small texture sizes (by the waym that was a dedicated drivers from toshiba, not a generic one from intel - now I have the generic driver from intel and it’s much better).
For me the topic is closed.
Thanks for advices!