【发布时间】:2012-06-11 01:34:50
【问题描述】:
我正在使用本教程学习three.js:http://demo.bkcore.com/threejs/webgl_tron_glow_seq.html。 本教程本身工作正常,但我自己的代码,基于它失败,错误如下:
ERROR: 0:26: 'nuniform' : syntax error Three.js:325
precision highp float;
#define MAX_DIR_LIGHTS 0
...
uniform vec3 cameraPosition;
uniform sampler2D tDiffuse;nuniform sampler2D tGlow;nvarying vec2 vUv;nvoid main() {nvec4 texel = texture2D( tDiffuse, vUv );nvec4 glow = texture2D( tGlow, vUv );ngl_FragColor = texel + vec4(0.5, 0.75, 1.0, 1.0) * glow * 2.0;n}
ERROR: 0:62: 'nvoid' : syntax error Three.js:325
precision highp float;
#define VERTEX_TEXTURES
...
varying vec2 vUv;nvoid main() {nvUv = vec2( uv.x, 1.0 - uv.y );ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );n}
等等
看起来浏览器(谷歌浏览器)没有正确解析带有编码在其中的着色器的字符串。 来自三个.js 源(缩小版)的代码中出现错误。
一看,代码就ok了。
我只是错过了一些东西,但我不知道到底是什么。
有什么帮助吗?
【问题讨论】:
-
所以...向我们展示您的着色器源代码,以便我们确定您在哪里以及如何犯了错误 :)
-
粘贴定义着色器的代码。'n'肯定来自换行符,但由于某种原因,斜线被删除了。
标签: javascript google-chrome webgl three.js