【发布时间】:2018-01-21 20:17:18
【问题描述】:
我想知道如何将实际包含在我的 html 中的着色器移动到外部文件。通过这种方式,我将能够将它们包含在我的 gulp 任务中。我看了一下 JavaScript 着色器文件是如何编写的,但我不是很了解。
例如使用下面的 Glow 着色器代码,我如何将其移动到外部文件?
<script type="x-shader/x-vertex" id="vertexShaderGlow">
uniform vec3 viewVector;
uniform float c;
uniform float p;
varying float intensity;
void main()
{
vec3 vNormal = normalize( normalMatrix * normal );
vec3 vNormel = normalize( normalMatrix * viewVector );
intensity = pow( c - dot(vNormal, vNormel), p );
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
}
</script>
<script type="x-shader/x-vertex" id="fragmentShaderGlow">
uniform vec3 glowColor;
varying float intensity;
void main()
{
vec3 glow = glowColor * intensity;
gl_FragColor = vec4( glow, 1.0 );
}
</script>
【问题讨论】:
-
您只需要将着色器代码作为字符串,因此可以使用任何允许您从外部文件中引入字符串的方式。
-
你能给我举个例子吗?
-
我已经编辑了邵给出的答案