WebGL - 分配可变变量时顶点不呈现
WebGL - Vertices don't render when assigning varying variable
我的 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>
在查看我的代码后,我注意到我只将 aColor 发送到 5 个顶点中的 1 个,通过将我的颜色数组设为 4 * 5 而不是 4 * 1
我的 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>
在查看我的代码后,我注意到我只将 aColor 发送到 5 个顶点中的 1 个,通过将我的颜色数组设为 4 * 5 而不是 4 * 1