Google Chrome WebGL Shader编译链接器错误,具有相同名称但不同类型/精度的制服

ide*_*rge 8 precision shader google-chrome uniform webgl

制服具有相同的名称但不同的类型/精度

这是我在编译着色器时所获得的,只有Windows上的最新Chrome.没有其他的

看着

http://www.cocos2d-x.org/forums/19/topics/39063?r=39258https://code.google.com/p/chromium/issues/detail?id=309527

我尝试为以下两个添加两个highp,它也没有帮助.

VShader:

  "attribute vec3 a_position;                  \n"
  "attribute vec3 a_normal;                    \n"
  "attribute vec2 a_texture;                   \n"

  "uniform mat4 u_mvpMatrix;                   \n"
  "uniform mat3 u_normalMatrix;                \n"
  "uniform vec4 u_lightDir;                    \n"
  "uniform lowp int u_eT;           \n"
  "uniform lowp int u_eL;             \n"
  "uniform vec4 u_colormul;                    \n"

  "varying float v_cf;                \n"
  "varying vec2 v_t;                          \n"
Run Code Online (Sandbox Code Playgroud)

F Shader

  "precision mediump float;                                     \n"
  "uniform vec4 u_color;                                        \n"
  "uniform lowp int u_eT;                            \n"
  "uniform sampler2D u_texture0;                                \n"
  "uniform vec4 u_colormul;                                     \n"

  "varying float v_cf;                                 \n"
  "varying vec2 v_t;                                           \n"
Run Code Online (Sandbox Code Playgroud)

早期反应非常受欢迎

谢谢

小智 10

我通过添加precision mediump float;到我的顶点着色器以匹配为其片段对应物定义的精度来解决这个问题.

  • 我把highp和mediump都放了,都没有用 (2认同)
  • 在我的一种情况下,@ ideerge我也需要为int定义精度。非常令人沮丧-回到我的旧代码,突然有一半着色器没有链接。 (2认同)