表示プロジェクションの設定に問題があります。頂点が (0, 0, 0) (0, 0, 1) (0, 1, 1) (0, 1, 0) (1, 0, 0) (1, 1, 0) の立方体を描いています(1, 1, 1) および (1, 0, 1)。これは私がビューを初期化する方法です:
void initGL(int x,int y, int w, int h)
{
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH );
glutInitWindowPosition( x, y );
glutInitWindowSize( w, h );
glutCreateWindow( "CSE328 Project 1" );
glutDisplayFunc(draw);
glFrontFace(GL_FRONT_AND_BACK);
glMatrixMode(GL_PROJECTION);
glFrustum(-10.0, 10.0, -10.0, 10.0, 2.0, 40.0);
glMatrixMode(GL_MODELVIEW);
gluLookAt(10, 10, 10, 0.5, 0.5, 0, 0, 1.0, 0);
glutMainLoop();
}
何らかの理由で、立方体が画面全体を埋め尽くしています。frustum メソッドと lookAt メソッドの値を変更しようとしましたが、立方体がまったく表示されないか、ビューポート全体に表示されます。glLookAt では、「目」が (10, 10, 10) に配置され、立方体の表面にあるポイント (0.5, 0.5, 0) を見ていると仮定します。立方体全体が見えるように、これで十分な距離が得られると思いました。私はこれについて間違った方法で考えていますか?また、立方体を z 方向に移動して、z = 10 から z = 11 になるようにし、クリッピング プレーンにも移動しようとしましたが、同様の結果が得られます。