【发布时间】:2015-10-08 17:02:47
【问题描述】:
第一次海报...
我已经通过 SO 查看threejs/shadertoy 的东西,但一直无法找到这个特定的问题。我希望有人能帮忙。
我正在尝试将这个 shadertoy:https://www.shadertoy.com/view/ltfXWr# 带入一个简单的 html 文件并使用threejs 来显示它。我遵循了这背后的总体思路:How to implement a ShaderToy shader in three.js?
并在我的片段着色器顶部添加了一些制服,以弥补 Shadertoy 使用的独特东西(iResolution、iMouse 等)。除此之外,我还没有从你可以看到的 shadertoy 源代码中调整任何代码。
当我运行代码时,我收到以下错误:
THREE.WebGLProgram: shader error: 0 gl.VALIDATE_STATUS false gl.getProgramInfoLog invalid shaders ERROR: 0:168: 'GL_OES_standard_derivatives' : extension is disabled<br>
ERROR: 0:188: 'xy' : field selection requires structure, vector, or matrix on left hand side <br>
ERROR: 0:188: 'y' : field selection requires structure, vector, or matrix on left hand side <br>
ERROR: 0:188: 'res' : redefinition <br>
ERROR: 0:189: 'y' : field selection requires structure, vector, or matrix on left hand side <br>
ERROR: 0:189: 'uv' : redefinition <br>
ERROR: 0:191: 'xy' : field selection requires structure, vector, or matrix on left hand side <br>
ERROR: 0:191: 'xy' : field selection requires structure, vector, or matrix on left hand side <br>
ERROR: 0:191: 'constructor' : not enough data provided for construction
我只是不完全确定此时该做什么。我对很多东西都很陌生,很可能是我遗漏了一些明显的东西。
我的(不起作用,但你可以看到错误)codepen 在这里:http://codepen.io/ikimono/pen/RWVJYv
提前致谢!
【问题讨论】:
-
我在意识到我的“uniform float iMouse”和 iResolution 类型错误方面取得了一些进展。 (需要分别是统一的vec4和统一的vec2)。这是针对 Threejs r72 btw 的。我更新了我的笔。现在读取的错误: THREE.WebGLProgram: shader error: 0 gl.VALIDATE_STATUS false gl.getProgramInfoLog invalid shaders ERROR: 0:328: 'GL_OES_standard_derivatives' : extension is disabled 错误: 0:348: 'res' : redefinition 错误: 0: 349:'uv':重新定义
标签: javascript glsl webgl