我正在學習使用本教程的three.js:http://demo.bkcore.com/threejs/webgl_tron_glow_seq.html。 教程本身工作正常,但我自己的代碼,基於它的失敗,像錯誤:谷歌瀏覽器中的Webgl着色器編譯錯誤
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}
等
它看起來像瀏覽器(谷歌瀏覽器)不正確分析與絃樂器編碼着色器在他們中。 從three.js源代碼(縮小版本)中出現錯誤。
簡而言之,代碼是好的。
我只是想念一些東西,但我不知道究竟是什麼。
任何幫助?
因此...向我們展示您的着色器源代碼,以便我們可以明確說明您在哪裏以及如何犯了錯誤:) – Goz
將代碼粘貼到您定義着色器的位置..'n'絕對來自換行符,但由於某種原因,斜線被刪除。 – frank