所以我有一个顶点数组batcher,我想用它来渲染行而不是填充的矩形。目前我正在使用glPolyGonMode()
,但因为我的“形状”全部上传到图形卡作为三角形,我在矩形的中间运行一条线,如下所示:
显然这种情况正在发生,因为矩形有两个三角形。但我想只渲染没有中间线的矩形。我怎么能做到这一点?
答案 0 :(得分:2)
您无法使用三角形列表执行此操作,三角形是构建3D模型的基本原语。你需要两个三角形来构建矩形。
如果你不想要中间线
使用GL_QUADS绘图:
glBegin(GL_QUADS) ;
glVertex3f(0.0, 0.0, 0.0);
glVertex3f(0.0, 0.5, 0.0);
glVertex3f(0.5, 0.5, 0.0);
glVertex3f(0.5, 0.0, 0.0);
glEnd() ;
使用LINE_LOOP绘图:
glBegin(GL_LINE_LOOP) ;
glVertex3f(0.0, 0.0, 0.0);
glVertex3f(0.0, 0.5, 0.0);
glVertex3f(0.5, 0.5, 0.0);
glVertex3f(0.5, 0.0, 0.0);
glEnd() ;