我需要在OpenGL中制作一套国际象棋,想知道这是不是正确的方法。
这是棋子的代码:
void pawn(void)
{
glClear (GL_COLOR_BUFFER_BIT);
DrawArc(xc+6, yc-3,1.3,M_PI/2,M_PI/2,25);
DrawArc(xc+6.7, yc-3,1.3,M_PI/2,-M_PI/2,25);
DrawArc(xc+6, yc-0.9,0.8,M_PI/2,M_PI,25);
DrawArc(xc+6.7, yc-0.9,0.8,M_PI/2,-M_PI,25);
DrawArc(xc+6.35, yc+0.25,0.5,(7*M_PI)/4,(3*M_PI)/2,25);
glBegin(GL_LINE_LOOP);
glVertex2d(xc+4.7,yc-3);
glVertex2d(xc+8,yc-3);
glEnd();
glFlush ();
}
有没有更好的方法?
1条答案
按热度按时间m528fe3b1#
在代码中创建几何图形并不是最有效的方法。
常见的办法是:
.ply
或.obj
glDrawArrays
或glDrawElements
渲染它