0

3Dで線を作成する次のコードがあります。

        GL.glClear(GL.GL_DEPTH_BUFFER_BIT | GL.GL_COLOR_BUFFER_BIT);

        GL.glMatrixMode(GL.GL_MODELVIEW);
        GL.glLoadIdentity();

        GL.glBegin(GL.GL_LINES);
        GL.glColor(Color.Brown);
        GL.glVertex3f(0,0,0);
        GL.glVertex3f(100,0,0);
        GL.glEnd();

        GL.glBegin(GL.GL_LINES);
        GL.glColor(Color.Brown);
        GL.glVertex3f(0, 0, 0);
        GL.glVertex3f(0, 100, 0);
        GL.glEnd();

        GL.glBegin(GL.GL_LINES);
        GL.glColor(Color.Yellow);
        GL.glVertex3f(0, 0, 0);
        GL.glVertex3f(0, 0, 10);
        GL.glEnd();

        SwapBuffers();

しかし、プログラムを実行すると、値が 100 の x 軸と y 軸の最初の 2... の行しか表示されません。

何が欠けている?

4

1 に答える 1

2

原点 (0,0,0) から (0,0,10) までの直線を想像してみてください。

x/y 平面では常に 0 です。これは、「カメラ」の位置が x/y 平面に対して垂直である場合、まっすぐに見ている場合は見えないことを意味します。

「カメラ」の位置を変えれば見えるはずです。

于 2013-09-12T07:44:15.237 に答える