我正在尝试创建一个OpenGL顶点着色器,它为每个顶点都有一个额外的变换矩阵.我的着色器代码如下所示:
uniform mat4 mvpMatrix;
attribute vec3 coordinates;
attribute mat4 vertexTransformation;
attribute vec4 vertexColor;
varying vec4 v_color;
void main()
{
vec4 pos = vec4( coordinates, 1 );
pos = vertexTransformation * pos;
pos = mvpMatrix * pos;
gl_Position = pos;
v_color = color;
}
Run Code Online (Sandbox Code Playgroud)
每当我在android模拟器中执行它时,模拟器崩溃.
我试图隔离问题,发现只要我访问该vertexTransformation属性就会发生这种情况.即使没有涉及进一步的矩阵操作,以下代码也会导致崩溃.
uniform mat4 mvpMatrix;
attribute vec3 coordinates;
attribute mat4 vertexTransformation;
attribute vec4 vertexColor;
varying vec4 v_color;
void main()
{
vec4 pos = vec4( coordinates, 1 );
pos = mvpMatrix * pos;
gl_Position = pos; …Run Code Online (Sandbox Code Playgroud)