vec4和vec3 OpenGL ES之间的算术运算类型不匹配

时间:2016-10-31 14:57:04

标签: android opengl-es libgdx shader

我创建了一个着色器,它在PC上运行正常但不在我的Android手机上

顶点

attribute vec4 a_position;
attribute vec4 a_color;
attribute vec2 a_texCoord0;
uniform mat4 u_projTrans;
uniform vec3 u_distort;
varying vec4 v_color;
varying vec2 v_texCoords;
void main() {
    v_color = a_color;
    v_texCoords = a_texCoord0;
    gl_Position = u_projTrans * vec4(a_position+u_distort,1.0);
}

片段

varying vec4 v_color;
varying vec2 v_texCoords;
uniform sampler2D u_texture;
uniform mat4 u_projTrans;
void main() {
    vec4 color = texture2D(u_texture, v_texCoords) * v_color;
    gl_FragColor = color;        
}

我添加精度highp float;到2个文件

在这里输入代码

我发现到目前为止很可能是一个OpenGL ES不兼容问题我必须找到一种不同的方法来编写ne变量vec4和vec3,vec3 u_distortvariable我更新了渲染方法的值。

0 个答案:

没有答案