一、GLSL 程序相关错误
1)Shader脚本编译错误:排查作用域名、数据类型名是否正确,排查变量名是否一致。
2)Shader程序连接错误:检查varying作用域的变量在定点着色器脚本和片源着色器脚本中变量名是否一致。
二、纹理相关错误
1)程序执行正常执行无报错但是黑屏:
1、检查:顶点着色器代码中的 attribute作用域 变量名是否与C语言代码中glGetAttribLocation中的变量名是否一致。
2、检查:片源着色器代码中的 uniform作用域 变量名是否与C语言代码中glGetUniformLocation中的变量名是否一致。
3、检查:设置给定点着色器gl_Position对应的坐标数组是否有左边点重复(片源着色器对应的坐标出现重复不会导致黑屏)。
2)三角形花屏:
1、检查:片源着色器使用的对应的坐标是否正确,是否与定点着色器设置的定点坐标关系对应。
3)方形花屏:
1、检查:设置的图像尺寸是否正确。
2、当确定图像尺寸设置正确时检查数据是否有对齐操作。
4)颜色不对:
1、检查片源着色器yuv到rgb的换算是否正确。
2、如果图像颜色偏红检查渲染GL_TEXTURE0(对应Y)图层的操作是否正确。
3、如果图像颜色为绿色偏暗检查渲染GL_TEXTURE1(对应U)图层的操作是否正确。
4、如果图像为绿色偏亮检查渲染GL_TEXTURE2(对应V)图层的操作是否正确。