我如何找出我的OpenGL ES 2.0着色器无法编译(Android)的原因?

我如何找出我的OpenGL ES 2.0着色器无法编译(Android)的原因?,android,shader,opengl-es-2.0,Android,Shader,Opengl Es 2.0,我在Android上运行的OpenGL ES 2.0中有一个顶点着色器和一个片段着色器。 顶点着色器正确编译,则片段着色器无法编译。我已将其汇编如下: int shader = glCreateShader(type); glShaderSource(shader, shaderCode); //Inputting the source code via the string shaderCode glCompileShader(shader); //Attempting to compile

我在Android上运行的OpenGL ES 2.0中有一个顶点着色器和一个片段着色器。 顶点着色器正确编译,则片段着色器无法编译。我已将其汇编如下:

int shader = glCreateShader(type);
glShaderSource(shader, shaderCode); //Inputting the source code via the string shaderCode
glCompileShader(shader); //Attempting to compile

final int[] status = new int[1];
glGetShaderiv(shader,GL_COMPILE_STATUS, status,0);
状态
对于其中一个着色器返回0,但对于另一个着色器不返回0。 我相信这是一个失败的编译? 如何在着色器中找出问题发生的位置? 某处有错误消息吗


谢谢,

如果你想要一个好的工具,你可以试试

Tracer是一种分析Android应用程序中嵌入式系统(ES)代码的OpenGL工具。该工具允许您捕获OpenGL ES命令和逐帧图像,以帮助您了解图形命令的执行方式


?我使用的是Java(在Android Studio中编写),这是一个C规范,所以我无法复制它。好吧,既然你知道函数的名称,那么你应该可以很容易地从Java中搜索如何使用它的信息。是的,对不起,我在评论后用谷歌搜索了它,找到了我需要的东西。谢谢。如果你把你的评论作为答案,我会接受的。听起来不错,它和Android Studio有联系吗?当我在Android Studio中以调试模式运行(使用模拟器或物理电话)时,我可以使用Tracer吗?您可以在工具>Android设备监视器中找到它,从那里您可以按照