我有一个GeForce GT 650M,我最近更新到335.23驱动程序(最新版本)。这样搞砸了我一直在做的LWJGL引擎。首先,当我加入这一行: org.lwjgl.opengl.ARBTextureStorage.glTexStorage2D(GL_TEXTURE_2D (int)(Math.log(Math.max(decoder.getHeight(), decoder.getWidth()))/Math.log(2))+1, GL_RGBA8, decoder.getWidth(), decoder.getHeight());
LWJGL NVIDIA驱动程序问题
我得到这个错误:
Exception in thread "main" java.lang.IllegalStateException: Function is not supported
at org.lwjgl.BufferChecks.checkFunctionAddress(BufferChecks.java:58)
at org.lwjgl.opengl.GL42.glTexStorage2D(GL42.java:238)
at org.lwjgl.opengl.ARBTextureStorage.glTexStorage2D(ARBTextureStorage.java:22)
at util.GLUtil.setUpTexture(GLUtil.java:255)
所以我试着删除所使用这个部分,事情仍然没有工作。我的SSAO组件是普通的白噪声,我的G缓冲区在任何地方都是黑色的,而最终的场景看起来是这样的:
我应该提到大约在两个月前驱动程序更新发生的情况。以前我真的可以把这个场景弄清楚,唯一错误的是5fps的帧率,破碎的阴影和倒转的光线。几个星期后发布了一个新版本,它已经修复。大约3个月没有更改引擎的OpenGL组件。 有人能告诉我这里发生了什么事吗? I put a decent amount of work into this,我不想失去一切。
为什么使用'glTexStorage2D'的ARB扩展而不是'glTexStorage2D'的核心版本? (这可能是原因) – Vallentin
@Vallentin我找不到一个glTexStorage2D函数不在org.lwjgl.opengl.ARBTextureStorage2D中......正如我所说的,当我删除所有glTexStorage2D调用时,仍然会出现非常奇怪的问题。 – Abaab