【发布时间】:2015-01-19 09:42:14
【问题描述】:
我试图让this tutorial 工作,但我遇到了两个问题,其中一个是以下问题。
当我按原样运行代码时,片段着色器中出现错误提示:THREE.WebGLShader: gl.getShaderInfoLog() ERROR: 0:2: '' : No precision specified for (float)。所以我所做的是为我定义的每个浮点数/向量指定一个精度,就像varying highp vec3 vNormal 一样。这消除了错误,但我不明白为什么?我找不到任何其他将精度值添加到变量声明的示例。谁能解释为什么会这样?它与我的浏览器(Chrome 38)有关吗?
【问题讨论】:
-
这篇文章是否带来了一些启示? stackoverflow.com/questions/5366416
-
在回答你的问题的标题时,答案基本上是“因为规范是这样说的”。 WebGL 基于 OpenGL ES 2.0 规范,该规范要求您指定精度。
标签: three.js glsl webgl shader fragment-shader