Russian Qt Forum
Ноябрь 24, 2024, 03:49
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
2D и 3D графика
>
QT4.7 & QGLFormat::CoreProfile & shaders
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QT4.7 & QGLFormat::CoreProfile & shaders (Прочитано 3589 раз)
saraksh
Гость
QT4.7 & QGLFormat::CoreProfile & shaders
«
:
Декабрь 18, 2010, 20:50 »
QT 4.7 на Linux, nvidia GTX 460 с поддержкой OpenGl 4.1 и родным нвидивским драйвером.
Если QGLFormat ставлю format.setProfile(QGLFormat::CoreProfile) и версию OpenGl выше 3.1 (например format.setVersion(3.2), или format.setVersion(4.1)) шедеры не компилятся.
Если ставлю CompatibilityProfile, или версию 3.1 и ниже, то компилятся.
Например такой вертех шейдер - проще некуда:
"in vec4 vrtx;\n"
"void main(void)\n"
"{\n"
"gl_Position = vrtx;\n"
"gl_PointSize = 2;\n"
"}\n")};.
Подскажите пожалуйста куда копать, чтобы заставить работать с CoreProfile и версией 4.1
С уважением,
S.
Записан
saraksh
Гость
Re: QT4.7 & QGLFormat::CoreProfile & shaders
«
Ответ #1 :
Декабрь 23, 2010, 01:13 »
В добавок к вышеизложенному:
format().hasOpenGL() - выдает true
context()->isValid() - выдает true
А shader->hasOpenGLShaders(QGLShader::Vertex, context) - выдает false
Ну как так может быть, что и формат ок, и контекст валидный, и драйвер с поддержкой Opengl 4.1, а шедеры (даже Vertex!!) не поддерживаются???!!! Я уже обгуглился, а ответа не нашел :-(((
Записан
alexman
Гость
Re: QT4.7 & QGLFormat::CoreProfile & shaders
«
Ответ #2 :
Декабрь 23, 2010, 09:24 »
QGLShader, QGLShaderProgram
Записан
saraksh
Гость
Re: QT4.7 & QGLFormat::CoreProfile & shaders
«
Ответ #3 :
Декабрь 23, 2010, 15:00 »
Цитата: alexman от Декабрь 23, 2010, 09:24
QGLShader, QGLShaderProgram
QGLShader и отказывается компилится, или Вы что-то другое имели в виду?
Записан
xop
Гость
Re: QT4.7 & QGLFormat::CoreProfile & shaders
«
Ответ #4 :
Декабрь 24, 2010, 14:11 »
Эмм, а есть возможность посмотреть какие ошибки компиляции выдает драйвер? Еще не факт, что Qt-шная обертка безбажная, может имеет смысл попробовать заюзать например glew и компилять командами GL.
Еще возможно имеет смысл попробовать в шейдере первой строчкой указывать версию. Например #version 400. Или #version 330. Или 140 (она как раз соответствует OpenGL 3.1). Вообще это хорошим тоном считается
Записан
saraksh
Гость
Re: QT4.7 & QGLFormat::CoreProfile & shaders
«
Ответ #5 :
Декабрь 25, 2010, 15:29 »
Так и делаю:
"#version 410 core\n"
"in vec4 vrtx;\n"
"uniform mat4 matrix;\n"
"void main(void)\n"
"{\n"
"gl_Position = matrix * vrtx;\n"
"gl_PointSize = 4.0;\n"
"}\n"
Если явно задавать QGLFormat 4.1 и CoreProfile, то shader->hasOpenGLShaders ругается, что поддержки шедеров нету. Никаких.
Записан
xop
Гость
Re: QT4.7 & QGLFormat::CoreProfile & shaders
«
Ответ #6 :
Декабрь 27, 2010, 15:44 »
Ну, тут только смотреть в сорцы Qt. Или работать напрямую с командами GL.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...