как инициализировать gl не в теле QGLWidget |
Здравствуйте, гость ( Вход | Регистрация )
как инициализировать gl не в теле QGLWidget |
wdefik |
9.5.2010, 18:02
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 4.3.2010 Пользователь №: 1505 Спасибо сказали: 0 раз(а) Репутация: 0 |
Доброго всем дня.
предыстория: есть класс, который использует opengl (подключаю библиотеку QtOpenGL) и некоторые библиотеки работы с изображениями, строками и тд, он не является потомком QGLWidget. в нем биндятся текстуры и больше ничего,связанного с огл. так вот, если с его помощью биндить текстуры в теле класса-потомка QGLWidget где-нибудь после initializeGL(), все работает. проблема: не могу заставить биндиться текстуры вне QGLWidget . компилятор ни на что не ругается, но glGenTexture не возвращает ничего. подозреваю, что нужно инициализировать что-нибудь типа контекста Opengl, то, что QGLWidget делает автоматически. Возможно вопрос не совсем к QT, но кто знает как решить эту проблему, прошу меня просветить наследование от QGLWidget наверное решит проблему, но может есть другой вариант? пробовал использовать qgl.h, нативный gl.h не помогает надо как-то с QGLContext поработать видимо |
|
|
registr |
20.5.2010, 13:40
Сообщение
#2
|
Участник Группа: Участник Сообщений: 115 Регистрация: 16.11.2009 Пользователь №: 1234 Спасибо сказали: 8 раз(а) Репутация: 1 |
Вообще как я понимаю QtOpenGL уже входит в QGLWidget, подгрузить модуль, оно конечно можно, но что это даст.
Цитата не могу заставить биндиться текстуры вне QGLWidget . Подробнее, хотелось бы. Типа другой класс (назовем его класс1), не наследующий QGLWidget, но в классе-наследнике QGLWidget (назовем его класс2) ты вызываешь функции класса1. Если правильно прописал заголовочный файл класса1, то все должно выполняться. Я так с текстурами не делал, но простые примитивы вроде треугольник, линия работают. Вообще твоя проблемма, я думаю, похоже в С++, что-то не подключил/не подгрузил.Можно еще через GLUT попробовать напрямую, я сам не пробовал, руки не доходили. |
|
|
registr |
29.5.2010, 15:03
Сообщение
#3
|
Участник Группа: Участник Сообщений: 115 Регистрация: 16.11.2009 Пользователь №: 1234 Спасибо сказали: 8 раз(а) Репутация: 1 |
Цитата Вообще как я понимаю QtOpenGL уже входит в QGLWidget, подгрузить модуль, оно конечно можно, но что это даст. Ошибочка вышла. Наоборот, QGLWidget уже входит в QtOpenGL.
|
|
|
Текстовая версия | Сейчас: 2.1.2025, 15:33 |