我的webgl程序呈现一个白色方块,但每当我尝试将变量变量传递给片段着色器时它就会消失,即使所有片段着色器都是:`gl_FragColor = vec4(1.0,1.0,1.0,1.0);
这不会产生什么
<script id="shader-vs" type="x-shader/x-vertex">
attribute vec3 vertexPos;
attribute vec4 aColor;
varying vec4 color;
void main(void)
{
gl_Position = vec4(vertexPos, 1.0);
color = aColor;
}
</script>
<script id="shader-fs" type="x-shader/x-fragment">
precision mediump float;
varying vec4 color;
void main(void)
{
gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);
}
</script>
这会呈现一个白色方块
<script id="shader-vs" type="x-shader/x-vertex">
attribute vec3 vertexPos;
attribute vec4 aColor;
varying vec4 color;
void main(void)
{
gl_Position = vec4(vertexPos, 1.0);
//color = aColor;
}
</script>
<script id="shader-fs" type="x-shader/x-fragment">
precision mediump float;
varying vec4 color;
void main(void)
{
gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);
}
</script>
答案 0 :(得分:1)
在查看我的代码后,我注意到我只将aColor发送到5个顶点中的1个,通过使我的颜色数组4 * 5而不是4 * 1
来解析它