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 identifier

    Upon 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...


  • Lifetime Qt Champion

    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.


  • Moderators

    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.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.