任务5:图元方式探究
复制任务2的正确顶点数据,只改变 draw mode,观察相同数据的不同绘制结果。
实验记录(TRIANGLE_STRIP → LINE_STRIP):
我修改了什么:仅把 drawArrays 的 mode 由
我原先预测:会看到四边形的线框轮廓。
实际结果:没有填充,也不是完整线框,只有 左上→左下(左边)、左下→右上(对角线)、右上→右下(右边)三条线段,首尾不闭合。
原因解释:LINE_STRIP 只按顶点提交顺序把相邻顶点依次相连;三角形条带为拼四边形采用了“之”字形顶点顺序,该顺序在折线解释下就会出现一条对角线,且 LINE_STRIP 不会自动补首尾连线(若需闭合轮廓应使用
gl.TRIANGLE_STRIP 改为 gl.LINE_STRIP,顶点坐标/顺序/颜色均不变。我原先预测:会看到四边形的线框轮廓。
实际结果:没有填充,也不是完整线框,只有 左上→左下(左边)、左下→右上(对角线)、右上→右下(右边)三条线段,首尾不闭合。
原因解释:LINE_STRIP 只按顶点提交顺序把相邻顶点依次相连;三角形条带为拼四边形采用了“之”字形顶点顺序,该顺序在折线解释下就会出现一条对角线,且 LINE_STRIP 不会自动补首尾连线(若需闭合轮廓应使用
gl.LINE_LOOP)。
等待运行...