[Предыдущая: Модуль QtNetwork] [Модули Qt] [Следующая: Модуль QtSql] Модуль QtOpenGL
Модуль QtOpenGL предоставляет классы, которые могут облегчить использование OpenGL в приложениях Qt. Далее... Пространства имен
Классы
Подробное описаниеOpenGL является стандартным API для отображения трехмерной графики. OpenGL имеет дело только с трехмерным рисованием и предоставляет очень слабую поддержку (или не предоставляет её вовсе) для решения проблем GUI-программирования. Интерфейс пользователя для OpenGL-приложений должен быть создан с помощью других инструментов, таких как Motif в платформе X, Microsoft Foundation Classes (MFC) в Windows, или Qt на обоих платформах. Примечание: OpenGL является торговой маркой корпорации Silicon Graphics в США и других странах Модуль Qt OpenGL облегчает использование OpenGL в Qt-приложениях. Он предоставляет классы виджетов OpenGL, которые могут использоваться, за исключением буфера дисплея OpenGL, в котором вы можете для отображения содержимого использовать API OpenGL, так же, как другие виджеты Qt. Для включения определений классов этого модуля используйте следующую директиву: #include <QtOpenGL> Для линковки приложения с этим модулем, добавьте в ваш qmake файл проекта .pro: QT += opengl Модуль Qt OpenGL реализует платформо-независимую Qt/C++ оболочку вокруг платформо-зависимых Qt/C++ GLX WGL, или AGL C API. Предоставляемая функциональность очень похожа на библиотеку Mark Kilgard GLUT, но имеет дополнительную не-OpenGL-специфичкескую GUI-функциональность, т.е. полный API Qt. Внимание: модуль QtOpenGL входит в состав Qt Desktop Edition и Qt Open Source Edition. Он доступен в Windows, X11 и Mac OS X. Qtopia Core поддерживает OpenGL ES (OpenGL для встраиваемых систем (Embedded Systems)). Для использования OpenGL API в Qtopia Core нужна интеграция с Q Window System (QWS). Для получения подробностей смотрите Qtopia Core и OpenGL. УстановкаПри установке Qt в X11 скрипт конфигурирования пытается автоматически обнаружить, установлены ли в системе заголовочные файлы и библиотеки OpenGL, и, если это так, он включает модуль Qt OpenGL в библиотеку Qt. (Если Ваши заголовочные файлы и библиотеки OpenGL размещены в необычной директории, то вам может потребоваться изменение переменных QMAKE_INCDIR_OPENGL и/или QMAKE_LIBDIR_OPENGL в файле конфигурации для вашей системы). При установке Qt в Windows и Mac OS X, модуль Qt OpenGL всегда включается. Пользователям X11, возможно, будет полезным прочитать замечания относительно оверлейных программ (overlays), приведенные ниже. Документация по QGL предполагает, что вы знакомы с программированием OpenGL. Если оно вам не знакомо, то хорошей отправной точкой станет ресурс http://www.opengl.org/. Использование оверлеев X11 с QtОверлеи X11 - это мощный механизм для рисования поверх рисунков без их разрушения, они сохраняют во время рисования большую часть изображения. За дополнительной информацией настоятельно рекомендуем вам обратиться к книге OpenGL Programming for the X Window System (Mark Kilgard, Addison Wesley Developers Press 1996). Внимание: Qt OpenGL Extension включает прямую поддержку использования оверлеев OpenGL. Для большинства случаев использования оверлеев техника, описанная ниже, избыточна. Далее следует обсуждение использования не-QGL виджетов в оверлейных планах. Обычно оверлеи X11 легко могут использоваться с текущей версией Qt и Qt OpenGL Extension. Следующие требования применяются в случаях, когда:
Если все вышеперечисленные требования выполнены, QGLWidget по умолчанию будет использовать визуализацию в основном плане, в то время как все другие виджеты будут использовать оверлейную визуализацию. Таким образом, мы можем размещать обычные виджеты поверх QGLWidget, и выполнять рисование в них без воздействия на изображение в окне OpenGL Другими словами, мы можем использовать все возможности рисования QPainter для отображения комментариев, линий и т.д. Это намного легче для типичного использования оверлейных программ, чем применять OpenGL для рисования надписей. Оверлейный план имеет специальный цвет, называемый прозрачным цветом. Пиксели, нарисованные этим цветом, не видны; вместо них будет показан нижележащий рисунок OpenGL. Для применении этой техники, вы не должны использовать цветовые спецификации QApplication::ManyColor или QApplication::TrueColor для QApplication, так как это вынудит обычные виджеты Qt использовать TrueColor-визуализацию, которая обычно должна быть в основном плане, а в оверлейном нежелательна. [Предыдущая: Модуль QtNetwork] [Модули Qt] [Следующая: Модуль QtSql]
|
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |