0

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 ();
}

これを行うより良い方法はありますか?

4

1 に答える 1

5

コードでジオメトリを作成することは、最も効率的な方法ではありません。

一般的な方法は次のとおりです。

  • Blenderなどの3Dモデリングツールでモデルを作成する(無料)
  • .plyまたはなどのファイルに保存します.obj
  • ジオメトリをグラフィックカードメモリ(頂点バッファオブジェクト)にロードします
  • glDrawArraysまたはを使用してレンダリングしますglDrawElements
于 2013-03-20T15:43:37.077 に答える