OpenGL Qt фигуры

программирование Linux qt OpenGL

Есть 2 функции в которых рисуются разные фигуры
когда я их вызываю то рисуется только последняя фигура а не обе

//описание
void GL_engine_0::paintGL(){
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
switch (FIGURE) {
case 0: element(); break;
case 1: element1(); break;
default: break;
}
swapBuffers();
}
//1 елемент
void GL_engine_0::element(){
qglColor(Qt::green);
glBegin(GL_QUADS);
glVertex3f (0.51, 0.51, 0.51);
glVertex3f (-0.51, 0.51, 0.51);
glVertex3f (-0.51, -0.51, 0.51);
glVertex3f (0.51, -0.51, 0.51);
glEnd();
}
//2 елемент
void GL_engine_0::element1(){
qglColor(Qt::blue);
glBegin(GL_QUADS);
glVertex3f (0.1, 0.51, 0.51);
glVertex3f (-0.51, 0.51, 0.51);
glVertex3f (-0.51, -0.51, 0.51);
glVertex3f (0.51, -0.51, 0.51);
glEnd();
}

вызов
GL_engine_0 *engine =new GL_engine_0();
engine->element();
engine->element1();
engine->show();

Вопрос:
Как сделать чтоб выводились обе фигуры а не последняя?
Ответы:
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.