crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> как инициализировать 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.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.11.2017, 14:24