После трёх лет разработки представлен первый стабильный релиз проекта Qt 3D, в рамках которого подготовлены библиотеки, добавляющие в Qt кроссплатформенные средства для работы с 3D-контентом. При помощи Qt 3D разработчики могут добавить в свои программы трехмерные объекты, используя методы, аналогичные тем, что используются при работе с изображениями и битовыми картами.
![](/img/extnews/4253/0.png)
Поддерживается как интеграция простых 3D-функций в обычные 2D-программы, так и создание специализированных 3D-приложений, манипулирующих сложными трёхмерными сценами, содержащими большие 3D-модели и создаваемые при помощи шейдеров эффекты. Например, Qt 3D может быть задействован для создания пользовательского интерфейса систем трёхмерного моделирования. В будущем планируется реализация таких возможностей как формирование стереоскопического вывода, использующего специальное оборудование для вывода разных изображений для каждого глаза. Для демонстрации возможностей Qt 3D подготовлена серия примеров.
В состав Qt 3D входит две базовые библиотеки:
- Qt3DQuick - QML-биндинг для работы с 3D-контентом и создании трёхмерных анимационных эффектов на языке QML с использованием декларативного описания при определения логики работы с 3D-объектами;
- Qt3D - C++ API для выполнения таких функций, как рендеринг трёхмерных моделей, управление размещением объектов на сцене, загрузки файлов с моделями. Qt3D также может быть использован в качестве альтернативы OpenGL, предоставляющей полноценную С++ реализацию вместо Си-стиля кодирования OpenGL.
![](/img/extnews/4253/1.png)
Среди поддерживаемых функций можно отметить работу с массивами и вершинными буферами, необходимые для трехмерных расчётов математические функции, средства для определения геометрии (кубические , сферические, конусообразные и другие объекты), манипулирование обзором (угол зрения, масштабирование, трансформация, вращение и т.п.), управление рендерингом поверхности и созданием материалов, перемещение камеры, работа с текстурами, управление сценой и рендерингом, создание эффектов, 3D-рисование.
Для работы с 3D-моделями в комплект включено специализированное приложение Asset Viewer, позволяющее наглядно сконфигурировать модели, используемые в программах на базе Qt 3D. Загрузка моделей и текстур в приложение производится в многопоточном режиме. Qt 3D 1.0 поставляется в виде надстройки над Qt 4.8.1, для Qt 5 код Qt 3D будет развиваться в рамках основного цикла разработки и будет поддерживать все доступные в Qt5 платформы (в Qt4 поддерживается OpenGL).