我是一个对HTML和Javascript有些陌生的新手,在我的HTML中,我有以下代码:
<script id="fragmentShader" type="x-shader/x-fragment">
precision mediump float;
//varying vec3 fragmentColor; //not needed?
varying vec3 fragmentNormal;
varying vec3 fragmentLight;
varying vec3 fragmentView;
uniform vec3 modelColor;
uniform vec3 lightColor;
void main() {
var m = normalize(fragmentNormal);
var l = normalize(fragmentLight);
var v = normalize(fragmentView);
var h = normalize(l + v);
var d = Math.max(l * m , 0);
var s = Math.pow(Math.max(h * m, 0), 10);
fragmentColor = modelColor * lightColor * d + lightColor * s;
gl_FragColor = vec4(fragmentColor, 1.0);
}
</script>
然而,它返回
Failed to compile shader: ERROR: 0:13: 'var' : undeclared identifier
ERROR: 0:13: 'm' : syntax error
我可以在HTML的脚本标签内声明/定义变量吗?
script
元素,但由于您指定了自定义的type
值,它不会作为script
元素进行处理,而是由shader
编译器进行处理,其中var
不是有效的语法,因此出现了错误。 - Arun P Johny