Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2013, 15:08   #1
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию Qt и openGL

Код:
class MyOGL : public QGLWidget
{
protected:
    virtual void initializeGL();
    virtual void resizeGL(int nWidth,int nHeight);
    virtual void paintGL();
public:
    MyOGL(QWidget *parent = 0);
};
Код:
MyOGL::MyOGL(QWidget *parent) : QGLWidget(parent)
{

}

void MyOGL::initializeGL()
{
    qglClearColor(Qt::black);
    glViewport(0,0,200,200);
}
void MyOGL::resizeGL(int nWidth,int nHeight)
{
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glViewport(0,0,(GLint)nWidth,(GLint) nHeight);
    glOrtho (0,100,100,0,-1,-1);

}

 void MyOGL::paintGL()
{
     glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

     glBegin(GL_QUADS);

         glColor3f(1,0,0);
         glVertex2f(0,0);

         glColor3f(1,0,0);
         glVertex2f(0,200);

         glColor3f(1,0,0);
         glVertex2f(100,200);

         glColor3f(1,0,0);
         glVertex2f(100,0);


     glEnd();


}
Код:
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    MyOGL test;
    test.resize(200,200);
    test.show();

    return a.exec();
}
Мой код (пример из книги Шлее 4.5 Qt) . Как я ожидаю, окно должно быть разделено на две части - левый прямоугольник 100x200 черный фон, правый прямоугольник отрисованый прямоугольник, но в итоге получается совсем другое (см вложение). В чем моя ошибка?
Изображения
Тип файла: jpg IMAG0583.jpg (97.3 Кб, 129 просмотров)
Hemul вне форума Ответить с цитированием
Старый 15.03.2013, 16:37   #2
clearbluesky
 
Регистрация: 03.12.2012
Сообщений: 9
По умолчанию

По умолчанию ноль по осям помещается в центр экрана, или как там по-русски выразиться. У тебя в вершинах нет ни одного отрицательного числа. Так что в принципе все норм работает-то.
clearbluesky вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Qt+OpenGL. Qt "не видит" функции OpenGL EnterFix Qt и кроссплатформенное программирование С/С++ 4 29.01.2013 18:59
OpenGL grafgrial Фриланс 3 10.11.2011 16:32
openGL jasul Софт 2 29.10.2011 14:28
OpenGl macintoshka12 Общие вопросы C/C++ 2 21.04.2010 12:59
OpenGL Д'якон Компьютерное железо 5 31.01.2009 22:48