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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2013, 23:09   #1
EnterFix
Пользователь
 
Регистрация: 10.06.2012
Сообщений: 22
Вопрос Qt+OpenGL. Qt "не видит" функции OpenGL

Доброго времени суток.
Срочно нужна помощь.
Скопировал код со статьи http://www.gamedev.ru/code/articles/OpenGL_Qt4 (своего не добавлял).
В итоге вот такие ошибки:

т.е. Стандартные функции gl не видны. Практически все функции с префиксом gl не работают. Как будто не подключён gl.h (он же вроде должен быть в модуле Qt).
Пробовал другие исходники с OpenGL. Результат тот же.
В чём может быть ошибка? Очень срочну нужно решить проблему.
Qt 5.0 (статья для Qt 4. Может быть с этим связано?)
Очень надеюсь на помощь.
EnterFix вне форума Ответить с цитированием
Старый 29.01.2013, 08:22   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

покажи что в my.pro записано
там должна быть строка:
Код:
QT += opengl
rrrFer вне форума Ответить с цитированием
Старый 29.01.2013, 11:38   #3
EnterFix
Пользователь
 
Регистрация: 10.06.2012
Сообщений: 22
По умолчанию

Да.
Вот My.pro:
Код:
TEMPLATE = app

# Input
HEADERS += scene3D.h
SOURCES += main.cpp scene3D.cpp
QT += opengl
Я не могу понять, почему
glEnable(GL_DEPTH_TEST); работает, а
glShadeModel(GL_FLAT); не работает.
Как будто glShadeModel(GL_FLAT); просто нигде не прописана.
Константу GL_FLAT тоже не видит. Как будто она не определена. И многие другие функции.
За то glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glViewport(0, 0, (GLint)nWidth, (GLint)nHeight); видны и компилятор на них не ругается.
EnterFix вне форума Ответить с цитированием
Старый 29.01.2013, 17:39   #4
EnterFix
Пользователь
 
Регистрация: 10.06.2012
Сообщений: 22
По умолчанию

Неужели нет решения???! Весь интернет облазил не нашёл ничего подобного.
EnterFix вне форума Ответить с цитированием
Старый 29.01.2013, 18:59   #5
EnterFix
Пользователь
 
Регистрация: 10.06.2012
Сообщений: 22
По умолчанию

Проблема решена.
Цитата:
Сообщение от EnterFix Посмотреть сообщение
Qt 5.0 (статья для Qt 4. Может быть с этим связано?)
Дело было действительно в этом.
http://qt-project.org/forums/viewthread/22821
Цитата:
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)
Собственно есть два пути:
Отказаться от старых функций и использовать только шейдеры.
Или собрать Qt с использованием нативного OpenGL (используя опцию -opengl desktop)

Можно так же использовать Qt 4.8.4.
EnterFix вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как избавиться от "пропорциональности" в OpenGL Marsel737 Общие вопросы Delphi 0 07.06.2011 19:39
МасОС не работает ,хоть и Видит,Интернет и "сломалась" "Сеть" =/ ApxuKILLER Операционные системы общие вопросы 2 05.05.2011 08:22
OpenGL. "Туман войны" Манжосов Денис :) Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 04.11.2010 18:45
игра "Пятнашки" на Visual C++ с использованием OpenGL Mr.Happy Фриланс 3 16.12.2009 16:19
OpenGl, как сделать "огненный" текст? Alex2009 Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 22.11.2009 21:30