OpenGL как нарисовать 3d модель?

Вот такой код:

void MainWidget::initializeGL()
{
    glClearColor(0, 0, 0, 0);
    glEnable(GL_DEPTH_TEST);
}

void MainWidget::resizeGL(int nWidth, int nHeight) {
   // glMatrixMode(GL_PROJECTION);
   // glLoadIdentity();
    glViewport(0, 0, nWidth, nHeight);
    //glOrtho(-5, 5, -5, 5 ,-5, 5);
}

void MainWidget::paintGL() {

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    double vertex_array[25];
    vertex_array[0] = 0;
    vertex_array[1] = 0;
    vertex_array[2] = 0;
    vertex_array[3] = 0.5;
    vertex_array[4] = 0;
    vertex_array[5] = 0;
    vertex_array[6] = 0.5;
    vertex_array[7] = 0.5;
    vertex_array[8] = 0;
    vertex_array[9] = 0;
    vertex_array[10] = 0.5;
    vertex_array[11] = 0;
    vertex_array[12] = 0;
    vertex_array[13] = 0;
    vertex_array[14] = 0.5;
    vertex_array[15] = 0.5;
    vertex_array[16] = 0;
    vertex_array[17] = 0.5;
    vertex_array[18] = 0.5;
    vertex_array[19] = 0.5;
    vertex_array[20] = 0.5;
    vertex_array[21] = 0;
    vertex_array[22] = 0.5;
    vertex_array[23] = 0.5;

    glVertexPointer(3, GL_DOUBLE, 0, &vertex_array);

    glEnableClientState(GL_VERTEX_ARRAY);
    int indexes_array[16];
    indexes_array[0] = 0;
    indexes_array[1] = 1;
    indexes_array[2] = 1;
    indexes_array[3] = 2;
    indexes_array[4] = 2;
    indexes_array[5] = 3;
    indexes_array[6] = 3;
    indexes_array[7] = 0;
    indexes_array[8] = 0;
    indexes_array[9] = 4;
    indexes_array[10] = 4;
    indexes_array[11] = 7;
    indexes_array[12] = 7;
    indexes_array[13] = 3;
    indexes_array[14] = 3;
    indexes_array[15] = 0;
    int edges_counter = 16;
    glColor3d(40, 40, 20);
    glDrawElements(GL_LINES, edges_counter, GL_UNSIGNED_INT, &indexes_array);
    glDisableClientState(GL_VERTEX_ARRAY);

}

Отображает только один простой квадрат, как его в 3д отрисовать?


Ответы (0 шт):