Проект Qt представил (http://blog.qt.io/blog/2017/11/30/qt-3d-studio-1-0-released/) релиз продукта Qt 3D Studio 1.0 (https://www.qt.io/3d-studio), предназначенного для создания трёхмерных интерфейсов пользователя. Изначально продукт был разработан компанией NVIDIA и получил известность как NVIDIA Drive Design. В феврале NVIDIA передала проект в руки сообщества Qt и одобрила его перевод в разряд свободного ПО. Инструкции по сборке Qt 3D Studio подготовлены (https://codereview.qt-project.org/gitweb?p=qt3dstudio/qt3dst...) для Linux, Windows и macOS. Код распространяется (https://codereview.qt-project.org/gitweb?p=qt3dstudio/qt3dst...) под лицензией GPLv3.Qt 3D Studio предоставляет инструменты для быстрого создания прототипов трёхмерного интерфейса и включает в себя в том числе редактор со шкалой времени, позволяющий создавать эффекты с анимацией и по ключевым кадрам. Поддерживается импорт ресурсов из таких популярных пакетов, как Photoshop, Autodesk Maya и The Foundry MODO. В состав также входит обширная библиотека готовых материалов и эффектов.
Создаваемые в Qt 3D Studio макеты интерфейса могут быть интегрированы с Qt Quick и другими модулями фреймворка Qt. Поддерживается два метода работы: интеграция подготовленных 3D-сцен в приложения на Qt Quick и отрисовка окон Qt Quick на 3D-элементах в виде текстур. Во время работы с 3D-сценой поддерживается бесшовное редактирование элементов Qt Quick в Qt Creator Designer. Приложения могут отслеживать изменения состояния 3D-интерфейса через штатный API Qt Quick.По сравнению с оригинальной кодовой базой NVIDIA Drive Design в Qt 3D Studio проведена значительная работа по превращению переданного кода в кросс-платформенный продукт - полученный от NVIDIA код поддерживал работу только в Windows и был завязан на фреймворке MFC. В итоге код был портирован на Qt и была проведена чистка привязок ко многим внешним библиотекам, которые были заменены на обращение ко встроенным в Qt возможностям. Также была проведена оптимизация производительности кода отрисовки в 3D, внесены мелкие модернизации в интерфейс, расширен API для интеграции с проектами на Qt/QML и подготовлен новый C++ API. В просмотрщик моделей Qt 3D Studio Viewer добавлена поддержка удалённой отладки, дающая возможность динамически в live-режиме наблюдать все вносимые в проект изменения на внешнем устройстве (например, Android-планшете).
URL: http://blog.qt.io/blog/2017/11/30/qt-3d-studio-1-0-released/
Новость: http://www.opennet.me/opennews/art.shtml?num=47653
Норм! За 3D-интерфейсами будущее!
К сожалению ты прав...
Ой ли... Я про 3D десктоп с 2003 слышу, но ни у кого его ещё не видел.
Так компиз существует уже давно.
компиз тут ни причемкомпиз про манипуляцию с 2д поверхностью в 2-х или 3-х мерных пространствах, а сабж про создание трехмерных UI.
> а сабж про создание трехмерных UI.Пожуй псилоцибиновых сыроежек, OpenGL/Vulcan/DirectX нервно курят в сторонке.
В сыром виде их надо очень много слопать чтобы увидеть 3D-нытерфейс. Аноним не осилит.
водкой запить. будет вообще 5D.
Как Virtual Desktop в стиме или в каком виде оно должно быть 3D?
> За 3D-интерфейсами будущее!Кэп, у меня клава и мышка уже 3D
> Кэп, у меня клава и мышка уже 3DРетоград, настоящие хипсторы тычут в 2D сенсорные экраны.
> Ретоград, настоящие хипсторы тычут в 2D сенсорные экраны.Скорее вертят девайсом так и сяк, используя гиро/аксели.
> Кэп, у меня клава и мышка уже 3DПопробовал космосим и симулятор авиамоделек мышкой и клавой. Мыша и клава в 6-DOF мире - "не очень".
Чем ж ты команду на выдвижение элеронов даёшь? Нейроинтерфейс?Спорим на 1005000 мильонов, что я в консоле управления быстрее наберу команду: aileron advance,
чем ты вспомнишь где находится тумблер на панели. :-PКароч, проходили мы эти ваши 3D. Даже в AutoCAD, внизапно, для 3D моделирования, раз в 500 быстрее
делается всё в консоле.Псевдо 3D - для игрушек. Хотя если вам включить полноценную физику,
вы свои самолёты, машинки, расхерачите через 10 сек. после старта.
> Чем ж ты команду на выдвижение элеронов даёшь? Нейроинтерфейс?"Большие" пилоты используют джой + педали + throttle + куча мелочи, см https://en.wikipedia.org/wiki/File:Airbus_A380_cockpit.jpg - серьезные компьютерные летуны покупают хотя-бы джой. Без него тухло.
Моделисты используют характерные пульты с парой джоев и иногда чем-то еще. Некоторые к компу подключаются. У них бывают нестандартные аэродинамические конфигурации. Неглупая фирмварь пульта настраивается на микширование ввода, разные кривые и проч, чтобы управление было более-менее привычным. Врядли тебе понравилось бы делать все и вся одними элевонами напрямую. Сейчас так и настоящие самолеты делают, но тоже только с компьютером.
Можно и иные варианты придумать. Но мышь для оперативного безглючного управления на скорость - не очень. Пилоты A380 предпочитают джой и точпад. А у клавиатуры только 2 состояния - нажато/не нажато. Реалтаймное управление примитивное, дозирование хромое. Если тебе нравится как ходит конь в шахматах, можно и так. Для полета в сферическом вакууме сойдет.
> Спорим на 1005000 мильонов, что я в консоле управления быстрее наберу команду:
> aileron advance, чем ты вспомнишь где находится тумблер на панели. :-PВозможно. Но когда потребуется быстро, плавно, точно и безглючно отдозировать воздействие для аккуратного маневра в реальном времени, когда второй попытки может и не быть, консоль будет хреновым выбором. Не для того она.
> Кароч, проходили мы эти ваши 3D. Даже в AutoCAD, внизапно, для 3D
> моделирования, раз в 500 быстрее делается всё в консоле.В автокаде ты не @#$%нешься о посадочную полосу, идя на посадку с пустым баком, не дающим уйти от шторма, когда внезапный порыв ветра поднимает ставки. Пилот или точно и своевременно парирует, или всем пи..ц. В этот момент некогда клацать в консоли.
> Псевдо 3D - для игрушек. Хотя если вам включить полноценную физику,
> вы свои самолёты, машинки, расхерачите через 10 сек. после старта.В FGFS физика обычная, самолетная. А расфигачивание обычно наступает при посадке. Мышью и клавой изгалиться можно, но неудобно и криво. Можешь еще crrcsim посмотреть. Графика гэ, но физика моделек правдоподобная, даже пульт с неглупой фирмварью эмулирует. Можешь попробовать раскинуть это на мышь и клаву если думаешь что это работает. Если покажется что прокатило, попробуй летающие крылья. Они быстрые и верткие, времени на раздумье не дают. Они и IRL такие же.
О, дааа!! :)
http://toastytech.com/guis/bobhome1p.png
http://toastytech.com/guis/bob.html
Щас понабегут хейтеры и ненужнисты, и скажут что трехмерные интерфейсы это только в мультиках, аватарах и бетменах, и что 2D намного удобнее. А на деле они никогда ими не пользовались и понятия не имеют, насколько удобным может быть хороший трехмерный интерфейс.
А есть какие-нибудь видео с хорошими трёхмерными интерфейсами?
http://events.q-dance.nl/2011-06_25-juni_defqon1/site.htm
Тут не сам интерфейс, тут скорее переходы красивые,да и задумка в целом, но всё же это 2д, и да нужен флэш.
Флеш мертв.
> http://events.q-dance.nl/2011-06_25-juni_defqon1/site.htm
> Тут не сам интерфейс, тут скорее переходы красивые,да и задумка в целом,Ужас, не дай бог такое внедрят везде
>> http://events.q-dance.nl/2011-06_25-juni_defqon1/site.htm
>> Тут не сам интерфейс, тут скорее переходы красивые,да и задумка в целом,
> Ужас, не дай бог такое внедрят вездеКрепсиь!
>> Ужас, не дай бог такое внедрят вездеНе сцы, там флеш.
Лично мне было лень его включать.
Зашел, а там пишет, "здесь был Флэш", быстрый сцка, весь интерфейс разобрал.
>А есть какие-нибудь видео с хорошими трёхмерными интерфейсами?Погугли "кормление грудью" ... смотри не купись на душевые китайс^W на порнуху :)
Чувак, ты озабоченный чтоли?
> Чувак, ты озабоченный чтоли?Он наверное намекал что это первый интерфейс который встречает на своем жизненном пути человек. Этот интерфейс и трехмерный и интуитивно понятный.
> А есть какие-нибудь видео с хорошими трёхмерными интерфейсами?Для того, чтобы сделать видео с хорошим трёхмерным интерфейсом, надо, чтобы хороший трёхмерный интерфейс существовал в реальности, а не только во влажных мечтах Васяна.
)) ага кнопочный трёхмерный интерфейс нокия - старьё, а вот айфона сенсорный экран с клавой это прогресс.
> А есть какие-нибудь видео с хорошими трёхмерными интерфейсами?Spin-off Babylon 5 - "легенда о рейнджерах". Интерфейс управления огнем старого крейсера. При появлении вражеских истребителей баба ныряет в люк и сидит в этой норке, ожидая развития заварушки. Когда начинается действо, корабль вокруг пропадает. Вместо него только космос. Баба-стрелок занимается фитнесом в космосе. Хук в влево, хук вправо! Лучи добра косят агрессоров пачками. Снято в лохматые 90-е, кинекта не было даже в проекте. А такие прозрачные кокпиты до сих пор не реализованы.
Поздно. Они уже набижали. И - таки да, ненужно. Тем более от nvidia.
Радует применение такого хорошего языка, как Qt, в такой серьёзной области.
> такого хорошего языка, как QtЯзыка?
Именно так.
Как-то мелькала новость о переписывании Qt на чистый C++ новой редакции. Вроде как новые плюшки позволяли обойтись без вкраплений языка Qt. Интересно, в каком он состоянии.
Это было бы просто шикарной новостью
Это который CopperSpice? А его вообще кто-нибудь использует?
Если же речь о Verdigris, то он ещё менее известен.
Сами же разрабы Qt отнюдь не собираются слазить с moc и полностью перелазить на чистый с++. По их мнению этот шаг порождает слишком много недостатков и даёт лишь незначительные выигрыши. Где-то в qt mail-list они подробно рассказывали о недостатках отказа от moc.
Нельзя не привести ссылку на статью https://woboq.com/blog/verdigris-qt-without-moc.html , которая наглядно показывает, что разработчики CopperSpice - клинические идиоты.
> Как-то мелькала новость о переписывании Qt на чистый C++ новой редакции.Ви так пишете будто Qt на грязном С++ написан
Кажется, я знаю, каким будет KDE 6
Ты опередил меня, брат Аноним. Я тоже об этом подумал.
Видео впечатлило.
Чем? Убожество же.
Или речь про какое-то другое видео, не из тела поста?
Разве Qt под Вендофс10 и под Линукс - это одно и то же?
> ...это одно и то же?Угу. На уровне исходников.
> Угу. На уровне исходников.Это не так.
Если вы, конечно, не архив с сорцами Qt не имели в виду.
Программа написанная на Qt работает везде, где есть Qt.
Если вы туды всунули system("regedit -a -b -c mysuper.reg"); это ваши проблемы.Более того, в C/C++ на каждую функцию можно придумать ещё 3-4 версии её портабельной
реализации, а не генерть мутный код на WinAPI/#GNU_SOURCE, где через строку #ifdef WIN_API
> Программа написанная на Qt работает везде, где есть Qt.Поправка: программа, написанная на Qt для Платформы #1 работает на Платформе #1.
Наличие Qt на других платформах никаким образом не обеспечивает работу программу на оных - её необходимо будет портировать.Qt не предоставляет уровень абстракции для написания произвольной платформы.
Он просто "оборачивает" возможности и особенности разных платформ в свои классы и методы, а их правильное использование всё равно ложится на плечи разработчиков приложения.То есть как бы тебе (почти) не надо работать на прямую с API, предоставляемыми системой, вместо этого тебе нужно делать те же самые платформо-специфичные приседания посредством Qt.
Спорное удовольствие.
Какие такие платформо-специфичные приседания посредством Qt? Не испльзуйте модуль qtx11extras, не вызывайте GNU/Linux-специфичных функций из Глибца.
Есть MouseArea и MultiPointTouchArea - вроде платформо-нейтральные интерфейсы для обработки мыши и мультитача. Да вот только ведут они себя по разному на разных платформах.
Есть Screen.devicePixelRatio, да вот беда - он только для macOS/iOS, а на других платформах используется совершенно другие подходы для обработки HiDPI. Привет разъезжающемуся интерфейсу, который не починишь (и не узнаешь, что что-то не так с какой-то конкретной кнопкой), пока не протестируешь на Windows, Android, macOS с HiDPI/без.
Есть QGuiApplication::applicationStateChanged, да вот беда - порядок и количество событий отличается на разных платформах. Отдельный привет куче кода для обработки открытия файла, переданного через командную строку / intent на Android / callback на macOS.> Не испльзуйте модуль qtx11extras, не вызывайте GNU/Linux-специфичных функций из Глибца.
Вы сначала попробуйте написать приложение посложнее калькулятора, которое останется в пределах "уютненького" базового функционала Qt без extras (привет QWinTaskbarProgress и прочим няшкам) и платформо-специфичного кода (без которого иногда просто невозможно реализовать базовую функциональность приложения, и.к. Qt её не враппит), и которое не будет выглядеть уныло в глазах пользователя.
Ты бы еще показал решения лучше, чтоли? Дотнет вообще не кроссплатформенный, GTK половину этого не умеет, да даже в веб-браузере делать кроссбраузерную верстку заманаешься, при том больше всего проблем создаст продукция компании Microsoft.Так что да, мир не идеален. Но по сравнению с конкурентами Qt ближе к идеалу чем многие другие.
>> Программа написанная на Qt работает везде, где есть Qt.
> Поправка: программа, написанная на Qt для Платформы #1 работает на Платформе #1.
> Наличие Qt на других платформах никаким образом не обеспечивает работу программу на
> оных - её необходимо будет портировать.
> Qt не предоставляет уровень абстракции для написания произвольной платформы.Пофег на теорию, абстракции, ...уякиции. Есть работающая система c 200 мегами исходников
на QT (Работа с таблицами, MySQL, Webkit, PDF, принтерами), ... нет нам ни одного #ifdef
работаем группой, кто-то на венде, кто-то на маке, кто-то на лине.И да, не представляю накой ляд писать на QT софтину работающую с syscall
Кароч, хвать пи...ть, идите компилить.
>И да, не представляю накой ляд писать на QT софтину работающую с syscallНапример чтобы использовать возможности операционных систем, которые не завернули в Q-классы
> Например чтобы использовать возможности операционных систем, которые не завернули в Q-классыПри этом ты явно нарываешься. Например на то что в других ОС аналога фичи вообще не окажется. И тогда чего? Самому недостающее за компанию Microsoft кодить в винде? А оно надо?
>Есть работающая система c 200 мегами исходников на QTПро квиктайм уже шутили?
Таки что ви имеете ввиду?
С одной стороны хочется пошутить про интерфейсы управления для современных контроллеров в 3Д, а с другой - представляется научная фантастика пока, но вполне осуществимая реальность в будущем, где, например, над центральной люстрой каждой комнаты расположен проектор, отображающий интерфейс умного дома (и другие информационные модули) прямо на стены и предметы быта - тут и могут пригодиться 3Д интерфейсы (особенно в совокупности с удобной системой управления голосом/жестами).
Умный дом + 3D - это мне нравится!
Осваивай искусство пантомимы, пока не поздно. А то умный дом с 3d-интерфейсом и управлением жестами зимой отопление включать откажется.
Если у тебя руки из задницы, то да, наверно откажется...
I'm sorry Dave, I can't let you in.
Тогда разбивать окно...
Ot 6 - интерфейс 3D на плоском экране
Qt 7 - голографический интерфейс
Qt 8 - вы в Матрице и пользуетесь там Qt 4
Не дай Бог...
Рекурсия, однако: Вы в матрице используете четвертые культи пока ИРЛ восьмые культи используют Вас.
> Рекурсия, однако: Вы в матрице используете четвертые культи пока ИРЛ восьмые культи
> используют Вас.Я слишком долго проспал в криокамере и понятие рекурсии успели кардинально изменить o_O?
Он похожу запустил матрицу в виртуалке и подумал что круто на этом будет запустить виртуалку с матрицей.
3D на экране - это имитация 3D.
3D на двух экранах - это имитация 3D.
Условность. Протезы.
До появления практической реализации создания объёмных изображений споры о ненужности симуляции не утихнут.
Практические реализации есть, только по чёткости пока не дотягивают до юзабельного уровня.
https://www.youtube.com/watch?v=uwCwtBxZM7g
Да, внезапно снова Nvidia. Несложно догадаться, почему они спихнули Qt бесперспективный псевдотрёхмерный сабж.
> Практические реализации есть, только по чёткости пока не дотягивают до юзабельного уровня.Это не "практические" реализации. Это "лабораторные работы"