2012-05-20 84 views
0

我需要找到glLinkProgram()方法的代码,因为当我调用它时会发生奇怪的行为(它永远不会返回)。我下载了整个源代码,现在我必须找到OpenGL ES 2.0代码位置在哪里。我只找到框架/ base/jni绑定,但我还找不到肉。你能帮我解决这个问题吗?在Android源代码中的opengl es 2.0源代码位置

回答

0

在android源代码中可能没有任何肉。像glLinkProgram这样的OpenGL调用是在GPU的OpenGL驱动程序中处理的,我很确定它是专有的,你不会找到它的源代码。在android中可能发现的最好的方法就是对GPU驱动程序的glLinkProgram调用进行简单包装,这可能不会产生任何有趣的效果。

对不起,听到你有这个问题,你使用什么样的手机/ gpu?你是否确定它不是通过使用调试器并进入它而返回的,它只是挂起了整个系统?

您是否确认在尝试链接它们之前,两个着色器都已成功编译?你不应该看到这种行为,但它可能是很好的知道。

如果你想把它放在那里,我会看看你的original question中的代码。

+0

我使用android模拟器。 GLThread保持无响应状态,因此GLSurfaceView已经死亡。其他线程似乎在工作。自从我将它们从RenderMonkey(Plastic.rfx)中解除后,我没有检查着色器是否成功编译。但它应该会返回,无论... – user965980

+0

是的,它应该返回,但也许你通过做一些“不寻常”的东西在模拟器中发现了一个错误。 GLES2.0的支持是比较新的。 – Tim

+0

好吧,我检查和着色器编译..尽管在着色器中添加注释使它不再编译了......这种行为是否正常?如果//在代码中不编译? – user965980