![]() I'll also set both the gl_version variables to zero before the gl::Get() calls, which will at least avoid the undefined value warning in valgrind and make the test behave correctly - the version check will always fail if the variables remain unchanged, which is most likely the correct answer anyway. In the meantime, the simplest thing would to request a core profile by default, and document clearly what to do if that fails. The fact that MRView runs correctly nonetheless is I guess a Good Thing, but a little bit confusing. I'm guessing you guys are running Qt 4.8? Any chance you could try with Qt 5, if it's available on Ubuntu.? Apparently, I cant swap out the card for another. The OpenGL ES Shading Language Specications are available in the Khronos API Registry. The version strings for all supported versions of the OpenGL Shading Lan-guage may be queried as described in section22.2. We should also look into whether this is a Qt issue - I certainly couldn't get OpenGL 3.3 on MacOSX without Qt >= 5.1. The PC is a package deal with the following: Intel Core i7 860 2.8GHz, 8GB DDR3, 1TB SATA II, 60GB SSD, DVDRW, 1GB NVIDIA GeForce GTS250, Windows 7 Home Premium 64-bit. OpenGL 4.5 implementations are guaranteed to support versions 1.00, 3.00, and 3.10 of the OpenGL ES Shading Language. I'm not sure they're buggy as such, I have a feeling the GL_MAJOR_VERSION and GL_MINOR_VERSION enums might be core in OpenGL >3, so technically they probably shouldn't work in a lesser context - and clearly, without explicitly requesting a core profile, you're not getting OpenGL 3.3. OK, so clearly the 304.125 NVIDIA drivers on Ubuntu 14.04 are behaving differently. Note you'd need to compile this with a -debug config for the macro to be active. In any case, I've just added a macro to check for OpenGL errors, try and see whether that catches anything - there are reports of the drivers not recognising the GL_MAJOR_VERSION & GL_MINOR_VERSION enums. What hardware and drivers are you guys using? I'm running a NVIDIA GeForce GTX 780 with the 349.16 drivers, and it works fine there. If these aren't working, I would strongly suspect your OpenGL drivers. These calls are part of the OpenGL core spec. ![]() ![]() The only way gl_version could be left undefined is if either of the gl::GetIntegerv() calls failed to set gl_version or gl_version_major respectively. 39 gl::GetIntegerv (gl::MAJOR_VERSION, &gl_version_major) Ĥ0 gl::GetIntegerv (gl::MINOR_VERSION, &gl_version) Ĥ3 FAIL ( "your OpenGL implementation is not sufficient to run MRView - need version 3.3 or higher ") ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |