Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: как инициализировать gl не в теле QGLWidget
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Система рисования. Печать
wdefik
Доброго всем дня.

предыстория:
есть класс, который использует opengl (подключаю библиотеку QtOpenGL) и некоторые библиотеки работы с изображениями, строками и тд, он не является потомком QGLWidget.
в нем биндятся текстуры и больше ничего,связанного с огл. так вот, если с его помощью биндить текстуры в теле класса-потомка QGLWidget где-нибудь после initializeGL(), все работает.

проблема:
не могу заставить биндиться текстуры вне QGLWidget . компилятор ни на что не ругается, но glGenTexture не возвращает ничего.
подозреваю, что нужно инициализировать что-нибудь типа контекста Opengl, то, что QGLWidget делает автоматически.

Возможно вопрос не совсем к QT, но кто знает как решить эту проблему, прошу меня просветить :)


наследование от QGLWidget наверное решит проблему, но может есть другой вариант? пробовал использовать qgl.h, нативный gl.h не помогает

надо как-то с QGLContext поработать видимо
registr
Вообще как я понимаю QtOpenGL уже входит в QGLWidget, подгрузить модуль, оно конечно можно, но что это даст.

Цитата
не могу заставить биндиться текстуры вне QGLWidget .
Подробнее, хотелось бы. Типа другой класс (назовем его класс1), не наследующий QGLWidget, но в классе-наследнике QGLWidget (назовем его класс2) ты вызываешь функции класса1. Если правильно прописал заголовочный файл класса1, то все должно выполняться. Я так с текстурами не делал, но простые примитивы вроде треугольник, линия работают. Вообще твоя проблемма, я думаю, похоже в С++, что-то не подключил/не подгрузил.

Можно еще через GLUT попробовать напрямую, я сам не пробовал, руки не доходили.
registr
Цитата
Вообще как я понимаю QtOpenGL уже входит в QGLWidget, подгрузить модуль, оно конечно можно, но что это даст.
Ошибочка вышла. Наоборот, QGLWidget уже входит в QtOpenGL.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.