После трёх лет разработки представлен (http://labs.qt.nokia.com/2012/04/11/qt-3d-and-qt5-qt4-news-a.../) первый стабильный релиз проекта Qt 3D (http://doc-snapshot.qt-project.org/qt3d-1.0/), в рамках которого подготовлены библиотеки, добавляющие в Qt кроссплатформенные средства для работы с 3D-контентом. При помощи Qt 3D разработчики могут добавить в свои программы трехмерные объекты, используя методы, аналогичные тем, что используются при работе с изображениями и битовыми картами.<center><a href="http://doc-snapshot.qt-project.org/qt3d-1.0/qt3d-examples.ht... src="https://www.opennet.ru/opennews/pics_base/0_1334149601.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></a></center>
Поддерживается как интеграция простых 3D-функций в обычные 2D-программы, так и создание специализированных 3D-приложений, манипулирующих сложными трёхмерными сценами, содержащими большие 3D-модели и применяющие эффекты, создаваемые при помощи шейдеров. Например, Qt 3D может быть задействован для создания пользовательского интерфейса систем трёхмерного моделирования. В будущем планируется реализация таких возможностей как формирование стереоскопического вывода, использующего специальное оборудование для вывода разных изображений для каждого глаза. Для демонстрации возможностей Qt 3D подготовлена серия примеров (http://doc-snapshot.qt-project.org/qt3d-1.0/qt3d-examples.html).
<center><iframe width="420" height="315" src="http://www.youtube.com/embed/IShJtdxUVKE" frameborder="0" allowfullscreen></iframe></center>
В состав Qt 3D входит две базовые библиотеки:
- Qt3D - C++ API для выполнения таких функций, как рендеринг трёхмерных моделей, управление размещением объектов на сцене, загрузки файлов с моделями. Qt3D также может быть использован в качестве альтернативы прямому использованию OpenGL, предоставляющей полноценную С++ реализацию вместо Си-стиля кодирования OpenGL.
- Qt3DQuick - QML-биндинг к API Qt3D для работы с 3D-контентом и создании трёхмерных анимационных эффектов на языке QML с использованием декларативного описания при определении логики работы с 3D-объектами;
Среди поддерживаемых функций можно отметить работу с массивами и вершинными буферами, необходимые для трехмерных расчётов математические функции, средства для определения геометрии (кубические, сферические, конусообразные и другие объекты), манипулирование обзором (угол зрения, масштабирование, трансформация, вращение и т.п.), управление рендерингом поверхности, создание материалов, перемещение камеры, работа с текстурами, управление сценой и рендерингом, создание эффектов, 3D-рисование.
Для работы с 3D-моделями в комплект включено специализированное приложение Asset Viewer, позволяющее наглядно сконфигурировать модели, используемые в программах на базе Qt 3D. Загрузка моделей и текстур в приложение производится в многопоточном режиме. Qt 3D 1.0 поставляется в виде надстройки над Qt 4.8.1. Для Qt 5 код Qt 3D развивается в рамках основного цикла разработки и поддерживает все доступные в Qt5 платформы (в Qt4 поддерживается только OpenGL).
<center><a href="http://doc-snapshot.qt-project.org/qt3d-1.0/images/teaservic... src="https://www.opennet.ru/opennews/pics_base/0_1334149363.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></a></center>
URL: http://labs.qt.nokia.com/2012/04/11/qt-3d-and-qt5-qt4-news-a.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=33580