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

时间:2016-03-17 14:25:37

标签: 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

final int[] status = new int[1];
glGetShaderiv(shader,GL_COMPILE_STATUS, status,0);
对于其中一个着色器,

status返回0,而不是另一个着色器。 我相信这是一个失败的编译? 如何找出问题出现在着色器中的哪个位置? 某处有错误信息吗?

谢谢,

1 个答案:

答案 0 :(得分:2)

如果你想要一个漂亮的工具,你可以尝试Android GLTracer

  

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