OpenGL国际象棋棋子

z18hc3ub  于 2022-11-04  发布在  其他
关注(0)|答案(1)|浏览(198)

我需要在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 ();
}

有没有更好的方法?

m528fe3b

m528fe3b1#

在代码中创建几何图形并不是最有效的方法。
常见的办法是:

  • 在3D建模工具(如Blender)中创建模型(免费)
  • 将其保存到文件,例如.ply.obj
  • 将几何体加载到图形卡内存(顶点缓冲区对象)
  • 使用glDrawArraysglDrawElements渲染它

相关问题