Moja klasa wygląda bardzo podobnie do tej: http://doc.qt.nokia.com/stable/activeqt-opengl-glbox-cpp.html. Z tą róznicą, że mam zamiast metody makeObject() dwie: jedna: rysujTrojkat() i rysujKwadrat(). W nich wyrysowuję sobie wszystko i jest ok. Ale kiedy chcę pokazać je na ekranie, widać tylko kwadrat.

Ważniejsze kawałki kodu:

void klasa::initializeGL()
{
    qglClearColor(QColor(0,0,0));
    kwadrat = rysujKwadrat();
    glLoadIdentity();
    glTranslatef(0.0f,1.0f,0.0f);
    trojkat = rysujTrojkat();
    glShadeModel (GL_FLAT);

}
void klasa::paintGL()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glLoadIdentity();
    glTranslatef(0, -3, -10);
    glScalef(skala, skala, skala);
    glRotatef(xRot, 1, 0, 0);
    glRotatef(yRot, 0, 1, 0);
    glRotatef(zRot, 0, 0, 1);
    glCallList(kwadrat);
    glCallList(trojkat);
}

i rysowanie kwadratu:

GLuint klasa::rysujKwadrat()
{
    GLuint kwLista = glGenLists(1);
    glNewList(kwLista, GL_COMPILE);
    qglColor(QColor(0, 255, 0));

    glBegin(GL_QUADS);
    //....
    glEnd();

    glEndList();

    return kwLista;
}

w konstruktorze mam tak:

kwadrat = rysujKwadrat();
trojkat = rysujTrojkat();

jestem poczatkujacy jesli chodzi o Qt, a co dopiero o OpenGL. Prosze o pomoc