小编Ram*_*aig的帖子

使用矩阵作为顶点着色器属性时崩溃

我正在尝试创建一个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)

android opengl-es vertex-shader

4
推荐指数
1
解决办法
126
查看次数

标签 统计

android ×1

opengl-es ×1

vertex-shader ×1