2012-05-20 86 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