当前位置: 首页 > 知识库问答 >
问题:

GDI通用OpenGL驱动程序-glBindTexture()-GL\u无效\u枚举错误

岳研
2023-03-14

我有代码完全在图形卡OpenGL下工作。

然而,当我切换到OpenGL仿真使用GDI通用OpenGL驱动程序我得到非常奇怪的错误:

GL错误-函数glBindTexture(GL_TEXTURE_2D,1)生成错误GL_无效\u枚举

glBindTexture()的文档说明,只有在目标具有错误枚举的情况下,才能返回GL_INVALID_ENUM。然而,GL_纹理_2D是正确的枚举-适用于图形卡OpenGL驱动程序。

我确信:1)glBindTexture正在生成错误-使用带有错误记录的GLIntercept跟踪器2)纹理已分配且大小为512 x 4 3)纹理已分配数据:glTexImage2D(GL_Texture_2D,0,GL_RGBA,m_textureImage.width(),m_textureImage。高度(),0,GL_BGRA,GL_无符号字节,m_纹理图像。位());4) 在为纹理指定数据和实际使用纹理之间的OpenGL上下文不会改变-在这两者之间,纹理是未绑定的

是否有其他未记录的原因导致它可以返回此类错误?有没有办法找到问题?

共有2个答案

逑阳泽
2023-03-14

这已被确定为GlInterture图像记录器的问题。记录器正在使用一些OpenGL 1.2枚举,这些枚举在OpenGL 1.1中不可用。

正在为GLIntercept解决此问题。对于GDI通用OpenGL渲染器来说,在不记录图像的情况下使用GLIntercept应该是安全的。

丌官积厚
2023-03-14

glBindTexture(GL\u TEXTURE\u 2D,1):与从glGenTextures返回的值相反,指定固定的纹理ID是不常见的:(1)。也就是说,无效值不应返回GL\u invalid\u ENUM

在通过glTexImage2D指定纹理数据之前,是否将纹理“名称”(ID)绑定为GL\u纹理\u 2D?您的GL驱动程序是否支持非二次幂(NPOT)纹理?

最后,您是否在GL状态下启用纹理:glEnable(GL\u TEXTURE\u 2D)?虽然我不相信这会产生你提到的错误代码。

我真的不知道。你可能已经做了我提到的一切!我只是试着考虑可能的疏忽。

 类似资料:
  • 我现在关注的应用程序是3d模型查看器。用户偶尔会加载一个大的新网格进行渲染,旧网格可以(必须)扔掉。 因此,GL\u STATIC\u DRAW显然是VBO的正确提示。 在这一点上,我有点不确定是要我的VBO和IBO,也是我的VAO,还是什么都不做,只是VBO和IBO与我新加载的网格,而无需删除和重新生成任何内容或重新定义VAO状态。(子问题:如果我只删除我的VBO,然后重新生成它,但我保持我的V

  • 使用命令cmd包安装提交1846176067提交安装会话失败。错误:INSTALL_FAILED_OLDER_SDK:安装过程中解析失败PackageLI: /data/app/vmdl1846176067.tmp/base.apk(在二进制XML文件行#7):需要更新的sdk版本#28(当前版本为#25) 我的Gradle应用插件:“com.android.application” Androi

  • 我试图解决我的Jetty servlet在HTTPS上运行的问题。 这是浏览器中的错误: 这是卷曲中的错误: 我所做的: > 我创建了密钥库和信任库,如下所述:如何生成密钥库和信任库,以及https://serverfault.com/questions/488003/keytool-subjectalternativename 这是我创建密钥库和信任库的批处理脚本: 我不知道我的情况有什么问题,

  • 我正在使用LWJGL,当使用Util.checkGLError()检查时,下面的OpenGL调用导致无效的枚举错误 GL11.glTexParameteri(GL11.GL_TEXTURE_2D,GL11.GL_Textture_WRAP_S,GL11.GL_CLAMP); 我已经把范围缩小到GL_CLAMP,因为GL_REPEAT有效。还应该指出的是,GL_CLAMP在我的笔记本电脑上运行良好,

  • 我使用PuTTY密钥生成器生成了一个4096位RSA-2密钥,其中包含一个密码短语。 我保存了. ppk和一个openSSL格式的公钥。油灰格式公钥不起作用。 无论如何,我的错误如下: 有什么问题吗? 我使用Pageant来加载密钥,我使用Git Bash来尝试ssh连接。我也把密钥加载到GitHub,不知道我做错了什么。 我尝试在GitHub中添加新行,但没有添加新行

  • 我写了一个应用程序。一切都很好,但后来我想在家里的电脑上处理它。问题是,当我想在模拟器中启动应用程序时,我收到错误消息“INSTALL\u FAILED\u DUPLICATE\u PERMISSION”。在工作中,我对模拟器使用相同的设置。当我尝试在两台不同的电脑上使用它时,其他应用程序没有问题。 对不起,如果我没有给你足够的信息,但我是新的编程。 也许有人有过类似的经历,可以帮助我。 提前感谢