我开始进入libGDX游戏引擎。我已经复制了示例并尝试运行。 它可以作为android应用程序正常运行,但是当我希望它作为java应用程序运行时,会引发以下错误。

线程“ Thread-2”中的异常javax.media.opengl.GLException: javax.media.opengl.GLException:方法“ glActiveTexture”不可用

有帮助吗?

解决方案

也许您应该更改以下行:GL10 gl = Gdx.graphics.getGL10();GL20 gl = Gdx.graphics.getGL20();。因为根据官方OpenGL文档:

仅当GL版本为1.3或更高版本,或者当使用参数GL_EXTENSIONS调用glGetString返回的字符串中包含ARB_multitexture时,才支持glActiveTexture。

差异可能在于Windows默认情况下提供了OpenGL 1.1上下文,并且仅通过扩展提供了所有其他功能(即Java OpenGL可能不使用的glActiveTextureARB()

其他提示

我遇到了这个错误。 GLView(或其他用于查看GL版本的程序)告诉我,我当前的OpenGL是1.1,并且此方法仅适用于1.3和更高版本。 我的解决方案是使用Windows Update更新驱动程序(我的驱动程序-ATI Technologies Inc.针对ATI radeon的驱动程序更新)。更新到3.0版之后,一切都很好。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top