2014-04-10 102 views
3

我有一个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缓冲区在任何地方都是黑色的,而最终的场景看起来是这样的:screenshot

我应该提到大约在两个月前驱动程序更新发生的情况。以前我真的可以把这个场景弄清楚,唯一错误的是5fps的帧率,破碎的阴影和倒转的光线。几个星期后发布了一个新版本,它已经修复。大约3个月没有更改引擎的OpenGL组件。 有人能告诉我这里发生了什么事吗? I put a decent amount of work into this,我不想失去一切。

+0

为什么使用'glTexStorage2D'的ARB扩展而不是'glTexStorage2D'的核心版本? (这可能是原因) – Vallentin

+0

@Vallentin我找不到一个glTexStorage2D函数不在org.lwjgl.opengl.ARBTextureStorage2D中......正如我所说的,当我删除所有glTexStorage2D调用时,仍然会出现非常奇怪的问题。 – Abaab

回答

1

已尝试回滚显卡驱动程序?这是否解决了这个问题?

+0

我还没有,我认为这将解决这个问题,但我认为最新的驱动程序不与LWJGL合作是一个需要解决的问题。另外,我需要最新的驱动程序来玩某些游戏:P – Abaab

+1

我做了更多的观察,并且遇到了类似于您的更多问题。他们要么引用最近的OpenGL库更改(从版本3.x升级到4.x)或驱动程序更新。很显然BF4在这里占有优先地位;但是,也许尝试使用较旧版本或更新版本的GL? – werkn

+0

我在工作中依赖于一些较新的东西,所以这可能会让事情变得有点困难。你能提供链接给有类似问题的人吗? – Abaab