Qt+OpenGL. Qt "не видит" функции OpenGL, C3861: 'glOrtho': identifier not found |
Здравствуйте, гость ( Вход | Регистрация )
Qt+OpenGL. Qt "не видит" функции OpenGL, C3861: 'glOrtho': identifier not found |
Christor |
28.1.2013, 22:02
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 28.1.2013 Пользователь №: 3689 Спасибо сказали: 0 раз(а) Репутация: 0 |
Доброго времени суток.
Срочно нужна помощь. Скопировал код со статьи http://www.gamedev.ru/code/articles/OpenGL_Qt4 (своего не добавлял). В итоге вот такие ошибки: т.е. Стандартные функции gl не видны. Практически все функции с префиксом gl не работают. Как будто не подключён gl.h (он же вроде должен быть в модуле Qt). Пробовал другие исходники с OpenGL. Результат тот же. В чём может быть ошибка? Очень срочну нужно решить проблему. Qt 5.0 (статья для Qt 4. Может быть с этим связано?) Очень надеюсь на помощь. |
|
|
Christor |
29.1.2013, 13:16
Сообщение
#2
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 28.1.2013 Пользователь №: 3689 Спасибо сказали: 0 раз(а) Репутация: 0 |
Windows 7. Не виртуалка и не эмулятор.
Сейчас попробую переустановить Qt. Но думаю не поможет. OpenGL ES ? Я ничего подобного не ставил. Разве с Qt не идут все необходимые OpenGL файлы? Где должен находиться gl.h ? |
|
|
lanz |
29.1.2013, 16:16
Сообщение
#3
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Возможно проблемы с драйвером видеокарты.
В Qt4 все работает, проверял сегодня и в Creator и в MSVS2010, Win7x64. Возможно дело действительно в Qt5, надо будет поиграться. |
|
|
lanz |
29.1.2013, 16:54
Сообщение
#4
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Поставил Qt5. Подтверждаю, у меня тоже не видит .)
Смотреть почему - http://qt-project.org/forums/viewthread/22821 (от 20 декабря) Цитата OK that is the source of your issues then. The pre-compiled Windows desktop version of Qt5 is built against ANGLE which only provides OpenGL ES 2 support by implementing it on top of DirectX 9. This was done to ensure that QtQuick2 works on all windows systems, including those with crappy Intel OpenGL drivers OpenGL ES 2 does not support the legacy fixed function pipeline, only a shader-based one. There is a bug open to provide a build of Qt 5 using the native desktop OpenGL implementation for Qt 5.0.1. Please go vote for https://bugreports.qt-project.org/browse/QTBUG-28715 to see this happen. For now, you have two choices: Live with OpenGL ES 2 support and don’t use legacy OpenGL Build your own copy of Qt 5 to use the native OpenGL drivers by passing in -opengl desktop to configure. With the 2nd option you should have access to OpenGL from 1.0 up to 4.3 (if your card/driver support it). Суть вкратце: 1. Устанавливаемая собранная версия Qt собрана с использованием OpenGL ES, чтобы QtQuick 2 мог работать на всех системах с Windows. 2. Как я уже говорил OpenGL ES не поддерживает многих старых функций fixed pipeline, только шейдеры, только хардкор .) 3. Можно проголосовать за десктопную сборку для 5.0.1 по ссылке https://bugreports.qt-project.org/browse/QTBUG-28715 , но пока ее нет. 4. Собственно есть два пути Отказаться от старых функций и использовать только шейдеры. Или собрать Qt с использованием нативного OpenGL (используя опцию -opengl desktop) |
|
|
Текстовая версия | Сейчас: 29.3.2024, 8:36 |