我需要在OpenGL中設置國際象棋,並且想知道這是否是正確的選擇。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();
}
是否有這樣做的更好的辦法?
使用模型?在3D建模程序中製作棋子應該不會太困難,然後允許您在OpenGL中使用更高效的功能,例如頂點緩衝區對象,並掌握加載模型的過程。 – Quetzalcoatl 2013-03-20 15:40:25
您仍然可以使用頂點緩衝區或來自代碼的VBO只是意味着你必須在內存中填充一些緩衝區。 – 2013-03-20 17:24:59
除非您的代碼產生某些特定問題,否則「更好」是一個相當模糊的術語。 – ApproachingDarknessFish 2013-03-28 05:27:45