После трёх лет разработки представлен (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="http://www.opennet.me/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="http://www.opennet.me/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.../
Новость: http://www.opennet.me/opennews/art.shtml?num=33580
Давно пора.
Рамочка окна "Пластик". Она из KDE 3, или в KDE 4 так же выглядит?
какую захочешь рамочку такую и поставишь
Также.
Ох... скоро мы будем смотреть на соревнования 3D-движков основанных на QML и WebGL
Не, ну что за детский сад? Это просто не серьёзно.
Зато в кедах вы скоро увидите настоящие трёхмерные контролы. Вот радости-то вам будет…
> Зато в кедах вы скоро увидите настоящие трёхмерные контролы. Вот радости-то вам
> будет…Вы знаете, я уже похоже не увижу. Только если на скришнотах.
В Ваших словах столько обречённости и тоски...
Ну обречённость есть, а тоски нет. :-)Всё не могу новый WMaker в Sisyphus отправить, а надо бы. Но сперва i3 запакую. :-)
> Только если на скришнотахСкорее на слайдшоу
В чём детский сад, в том, что, например, LibreCAD сможет из 2D превратиться в 3D CAD ?
Ну вот в этих ожиданиях и есть детский сад.
Qt очень продуманный фреймворк. Я рад что появился модуль Qt 3D.
Еще один костыль ? Зачем тратить 3 года на ЭТО вместо помощи уже существующему OpenGL ?
Это высокоуровневая обертка для OpenGL. Ну не хочу я, например, возиться с функциями OpenGL и прибивать гвоздями к нему свой код. Зато хочу относительно простым способом нарисовать крутящийся кубик на окошке или кнопочку типа трехмерную.
> Зато хочу относительно простым способом нарисовать крутящийся кубик на окошке или кнопочку типа трехмерную.Объясните, пожалуйста, какой в этом сакральный смысл? В этих крутящихся кубиках или трёхмерных кнопках? Вот Direct3D, о котором тут говорят, существует уже очень много лет. Но вот в обычных программах Win32, которыми я пользуюсь, как-то ни кубов, ни трёхмерных кнопок нет.
>Объясните, пожалуйста, какой в этом сакральный смысл?Есть смысл, когда ты пишешь софтину, например, для проектирования мебели, и этой софтине вменяют 3-х мерное моделирование результатов.
Это один из примеров, задач, где подобное может пригодиться много и со временем их количество и важность будет только расти.
Все кому нужен был такой функциона УЖЕ использовали его спомощью OpenGL, а не ждали у моря погоды на протяжение 3 лет(+ сколько его там еще до ума доводить будут)
Вы же не хотите сказать, что ВНЕЗАПНО все разработчики ринутся переписывать 3Д софт под это ? А для начальных проектов врядли станут сужать заведомо малую аудиторию, кроме just_for_fun или мелких проектов - а это уже частный случай ради которого использовать новый велосипед = выкинуть кучу полезного времени, потому как если программа станет популярной всеравно ПРИДЕТСЯ переписывать чтоб работало шустрее и не тащила за собой КДЕ(мы все понимаем что это будет там гвоздями прибито).
Упертость гномеров непреодолима. Если чего-то нет в гноме - значит нужно.
>значит нужно.значит не нужно.
>Все кому нужен был такой функциона УЖЕ...А вы учли тех, кому нужен такой софт будет только завтра или через год?
>Вы же не хотите сказать, что ВНЕЗАПНО все разработчики ринутся переписывать 3Д софт под это ? А для начальных проектов врядли станут сужать заведомо малую аудиторию...Внутрифирменные проекты вы тоже не рассматриваете? Для них заведомое сужение, QT-библиотека проблемой не являются.
Блин, вообще не понимаю в чём проблема, появился инструмент. Если он для Вашей задачи не подходит, это значит, что он не подходит для Вашей задачи, и Вам надо подобрать другой инструмент. Не надо тролить тех, кому он помогает.
Лично я в своё время пользовался другим инструментом, т.к. этого ещё не было. А сейчас есть и можно к нему присмотреться и сравнить.
Это Вы так троллите? При чем здесь кеды, когда там чистый Qt? А по уровню оно выше openGL и может использовать хоть direct3d - программист работает не с загрузкой вершин/нормалей или компиляцией шейдеров, а с моделями и сценой, т.е. это уже аналог графического движка
> Есть смысл, когда ты пишешь софтину, например, для проектирования мебели, и этой
> софтине вменяют 3-х мерное моделирование результатов.Может быть я не прав, но этих софтин с 3-х мерным моделированием мебели сейчас хоть попой ешь.
> Это один из примеров, задач, где подобное может пригодиться много и со
> временем их количество и важность будет только расти.Ну вот экспериментальный факт - Direct3D появился достаточно давно, а большая часть народу его не использует.
То есть, я не против того, что над OpenGL сделали удобную обёртку. Мне не нравится, что эта обёртка почему-та впихнута в библиотеку Qt - библиотеку управляющих компонент средней хреновости.
> Может быть я не прав, но этих софтин с 3-х мерным моделированием мебели сейчас хоть попой ешь.Тебе пример привели. Ты хотел чтобы перечислили все варианты?
> Ну вот экспериментальный факт - Direct3D появился достаточно давно, а большая часть народу его не использует.
Ссылку дай.
> Мне не нравится, что эта обёртка почему-та впихнута в библиотеку Qt - библиотеку управляющих компонент средней хреновости.
Нууу конечноооо! С этого сразу бы и начал. Надо было сишный OpenGL обернуть на сишном гтк.
> Еще один костыль ? Зачем тратить 3 года на ЭТО вместо помощи уже существующему OpenGL?прежде чем такое писать, я советую ознакомиться с этим Qt3D... я пробовал эту штуку еще на ранних стадиях, это реально аналог direct3d, очень приятный API
>> аналог direct3d
> очень приятный APIчто?
Шикарная либа, использовал начиная с tpшки для одной софтины. Благодаря этому время на разработку вьювера в разы сократилось.
Очень радует что наконец можно обойтись без прямых вызовов OpenGL.