WebGL - 顶点在分配可变变量时不呈现



我的 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 发送到 1 个顶点中的 5 个,通过使我的颜色数组 4 * 5 而不是 4 * 1 来解决它

最新更新