我在使用着色器时遇到问题并且是WebGL的新手。我已经搜索了几个小时的错误,但却无法找到它。我正在关注一个教程并将我的代码与教程作者的代码进行比较,它完全匹配,并且他的代码在他的演示中运行良好,但由于某种原因不能在我的代码上运行。这是我的Javascript。它产生的错误是#34;错误编译顶点着色器:错误:0:1:' /' :语法错误"在控制台中,基本上表明着色器无法编译。任何帮助将不胜感激。
var answer = prompt('What is your surname?');
var response;
if(answer.length == 0){
response = 'You didn\'t answer?';
} else if(answer.length > 5){
response = 'Your name has fewer than five characters';
} else if (answer.length < 5) {
response = 'Your name has more than five characters';
}
alert(response);
答案 0 :(得分:2)
您可能需要[...].join('\n')
而不是'[...].join('/n')
。
答案 1 :(得分:0)
WaclawJasper说的是真的。我想我会指出AFAICT nearly every browser that supports WebGL also supports es6 template literals这意味着你应该能够做到这一点
var vertexShaderText = `
precision mediump float;
attribute vec2 vertPosition;
void main() {
gl_Position = vec4(vertPosition, 0.0, 1.0);
}
`;
// Fragment Shader Code
var fragmentShaderText = `
precision mediump float;
void main() {
gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
}
`;
值得注意的例外是IE11