После трёх лет разработки представлен первый стабильный релиз проекта Qt 3D, в рамках которого подготовлены библиотеки, добавляющие в Qt кроссплатформенные средства для работы с 3D-контентом. При помощи Qt 3D разработчики могут добавить в свои программы трехмерные объекты, используя методы, аналогичные тем, что используются при работе с изображениями и битовыми картами.

Поддерживается как интеграция простых 3D-функций в обычные 2D-программы, так и создание специализированных 3D-приложений, манипулирующих сложными трёхмерными сценами, содержащими большие 3D-модели и применяющие эффекты, создаваемые при помощи шейдеров. Например, Qt 3D может быть задействован для создания пользовательского интерфейса систем трёхмерного моделирования. В будущем планируется реализация таких возможностей как формирование стереоскопического вывода, использующего специальное оборудование для вывода разных изображений для каждого глаза. Для демонстрации возможностей Qt 3D подготовлена серия примеров.

В состав 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).



Источник: http://www.opennet.ru/opennews/art.shtml?num=33580