Unsolved glGetTexLevelParameteriv() undeclared identifier at compile time On Windows 7 PC with OpenGL Google ANGLE
-
I have several different PC's that I use to compile my Qt OpenGL Application. On most of them, the code compiles OK, but on one of them I get these errors at compile time related to texture processing:
TextureMgr.cpp
............\svn_nyfr_sw_1\SW\PKG_NYFR\App_WG_v1\src\TextureMgr.cpp(313) : error C2065: 'GL_TEXTURE_WIDTH' : undeclared identifier
............\svn_nyfr_sw_1\SW\PKG_NYFR\App_WG_v1\src\TextureMgr.cpp(313) : error C3861: 'glGetTexLevelParameteriv': identifier not found
............\svn_nyfr_sw_1\SW\PKG_NYFR\App_WG_v1\src\TextureMgr.cpp(314) : error C2065: 'GL_TEXTURE_HEIGHT' : undeclared identifier
............\svn_nyfr_sw_1\SW\PKG_NYFR\App_WG_v1\src\TextureMgr.cpp(314) : error C3861: 'glGetTexLevelParameteriv': identifier not found
............\svn_nyfr_sw_1\SW\PKG_NYFR\App_WG_v1\src\TextureMgr.cpp(334) : error C2065: 'GL_UNSIGNED_INT_8_8_8_8_REV' : undeclared identifier
............\svn_nyfr_sw_1\SW\PKG_NYFR\App_WG_v1\src\TextureMgr.cpp(346) : error C2065: 'GL_UNSIGNED_INT_8_8_8_8_REV' : undeclared identifierUpon further investigation, this PC provides somewhat different information for OpenGL:
OpenGL Information:
Vendor: Google Inc.
Renderer: ANGLE
sVersion: OpenGL ES 2.0 (ANGLE 1.2.0.2446)
sShading Language Version: OpenGL ES GLSL ES 1.00 (ANGLE 1.2.0.2446)I'm using Qt 5.2.0 and this particular machine runs Windows 7 and has a Quadro FX 3800, driver Version 341.81 Graphics card. OpenGL is a specification, (not a driver), and since it is NVidia who makes the driver for this card, I just checked to see if they have updated this driver. They have; so I have already also tried installing their latest version: 341.92. Unfortunately this hasn't improved things. I suspect this issue is related to the driver (and not Qt).
Generally I'm using MSVS 2012 as the compiler.
If anyone has had success at compiling in a similar circumstance or an idea of anything worth trying, please let me know; otherwise I shall take this issue up with Nvidia...
-
Hi,
AFAIK, glGetTexLevelParameteriv is available in OpenGL ES 3.1 and yours is only 2.0
What makes wonder is why you have OpenGL ES rendering rather than desktop since you have Nvidia's drivers.
-
ANGLE is an implementation of OpenGL ES 2.0 on top of DirectX, and IIRC Qt 5.2. had no dynamic OpenGL implementation switching. To get a desktop version of OpenGL you'd have to use a desktop OpenGL build of Qt instead of ANGLE one.