1

以前の投稿でよく知られたテーマについて読んだことをコーディングしましたが、内部に三角形のない緑色のウィンドウが引き続き表示されます。ここに私のペイント機能があります:

void mGLWidget::paintGL()
{

glClearColor( Qt::green );

QSize viewport_size = size();
glViewport(0, 0, viewport_size.width(), viewport_size.height());
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-1, 1, -1, 1, 5, 7); // near and far match your triangle Z distance
glMatrixMode(GL_MODELVIEW);


glColorMask( GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE );
glColor4f( 1.0, 1.0, 1.0, 1.0 );

glTranslatef(-1.5f,0.0f,-15.0f);

glBegin(GL_TRIANGLES);         // Drawing Using Triangles
glVertex3f( 0.0f, 1.0f, 0.0f);      // Top
glVertex3f(-1.0f,-1.0f, 0.0f);      // Bottom Left
glVertex3f( 1.0f,-1.0f, 0.0f);      // Bottom Right
glEnd();
// Finished Drawing The Triangle
// swapBuffers();
}

三角形のない緑色のウィンドウしか表示されません。私の QT は qt4.8 と opengl 4.0 です。

私は何を間違っていますか?-\

4

2 に答える 2

0

近い値と遠い値が小さく、三角形を -15f 単位で非常に遠くに移動しています。これは、三角形が描画されていないか、点として機能していないことを意味します。したがって、ウィンドウの色のみが表示されます。

于 2013-01-29T08:53:44.043 に答える
0

glfrustrum の近距離と遠距離の値は非常に小さい範囲です。5、7 ではなく 1、100 にしてください。実際の解決策ではないかもしれませんが、そうでない場合は役立ちます

于 2013-01-29T08:49:19.530 に答える