170 похожих чатов

Всем добрый вечер, вопрос следующий: есть ли библиотеки или какие-то

инструменты для работы с 3д моделями? Я хочу сделать кроссплатформенное оконное приложение в котором будет 3д куб и его можно было крутить в разные стороны.

21 ответов

21 просмотр

Qt в такое умеет

QOpenGL и парсинг объектного файла с полигонами и вершинами, а так же аффинные преобразования. Это все гуглится

вот есть готовый пример: https://doc.qt.io/qt-6/qtopengl-cube-example.html ещё можешь по остальным examples пройтись, может что-то другое подойдёт

там Qt3D давно есть. По сути полноценный рендеринг енжин. Кросплатформенный впридачу

d s
там Qt3D давно есть. По сути полноценный рендеринг...

Это понятно, но я ответил на случай реализации "с нуля", судя по сообщению человеку это и нужно. Сомневаюсь что он хочет это написать и тащить в продакшен, это факультативный запрос Upd: могу ошибаться

Abdul C
Это понятно, но я ответил на случай реализации "с ...

это самое "с нуля" существует только в вашей голове. в оригинальном сообщении этого нет

d s
это самое "с нуля" существует только в вашей голов...

Это самое с нуля в голове любого студента и начинающего

Abdul C
Это самое с нуля в голове любого студента и начина...

это тоже не правда. да и Qt это уже не "с нуля". А если брать Qt, то можно сразу брать Qt3D, а не отмирающий лоулевел в виде QOpenGL Иными словами ваш совет объективно плохой, с какой стороны на него не посмотри.

d s
это тоже не правда. да и Qt это уже не "с нуля". А...

Не буду продолжать разговор. Пиши на питоне тогда)

assimp для импорта/экспорта моделей, а для отображения Qt c Qt3D/QtOpenGL или какой-нибудь raylib c raygui

Abdul C
Не буду продолжать разговор. Пиши на питоне тогда)

Ну почему-же? Я бы охотно посмотрел сейчас на кривляния вашего раздутого ЧСВ. Ведь признать, что вы дали объективно очень плохой совет, ЧСВ вам не даст. Зато заставит сочинить столько нелепых отмазок, почему совет хорош! Выставит вас ещё большим клоуном чем уже, а затем заставит истошно истерить.

d s
там Qt3D давно есть. По сути полноценный рендеринг...

Он ограниченный и негибкий более того Qt3D имеет лицензионные нюансы и ограничения по обратной совместмости с прошлыми версиями Qt. Поэтому у него конечно есть положительные качества, но при усложнении сцены вы быстро скатитесь к костылям. Хотя идея парсинга ручками, предложенная другим комментатором - действительно избыточно и неуниверсально, для этого лучше использовать готовые решения типо упомянутого выше assimp

Александр
Он ограниченный и негибкий более того Qt3D имеет л...

Ограничения по обратной совместимости очень важны чуваку, который пишет свежую софтину. Лицензия наверняка тоже. Продавать небось вертящийся кубик будет!

d s
Ограничения по обратной совместимости очень важны ...

Ничего не знаю - вокруг QtOpenGL уже накруговертили кучу готовых примеров и решений, вплоть до того, что есть готовые минипрограммы просмотрщики с просмотром всех форматов assimp. Касательно лицензии - лучше об этом не забывать, особенно с учётом того, что официально многие библиотеки плохо с ним миксуются. Писать свежую софтину на самых свежих библиотеках прекрасно конечно, но радость улетучивается вмиг, когда оказывается, что после смены дистрибутива или системы вы не можете пересобрать даже hello_world без возьни. Модно-молодёжно - не значит удобно и надёжно.

Александр
Ничего не знаю - вокруг QtOpenGL уже накруговертил...

Подобных запросов в сообщении автора не было. Вы просто проецируете свои предпочтения на окружающих.

d s
Подобных запросов в сообщении автора не было. Вы п...

Это называется мнение. В остальном он не просил и жёсткой привязки к Qt, но вы ему Qt3D навязывать стали по вашей же логике. С QtOpenGL решением он при желании мог сменить Qt на какой-нибудь SDL2/GLFW+imgui или другое сочетание, что нынче модно для создания прототипов.

Александр
Это называется мнение. В остальном он не просил и ...

Нет, это называется комплексы. Нет никаких реальных причин для новичка брать QOpenGL вместо Qt3D. Вы советуете новичку откровенно дурацкую и сложную чушь, и потом фимозно на этом настаиваете. Ибо признать свою неправоту (и уж тем более публично) слишком болезненный удар по раздутому ЧСВ. И заметьте, кстати, как вы уже второй день не можете успокоиться по этому поводу. Это неспроста.

glfw разве не кроссплатформенный?

floy.- Автор вопроса
Cringe Man
glfw разве не кроссплатформенный?

насколько я помню он кросплатформенный)

floy.
насколько я помню он кросплатформенный)

тогда че тут еще решать? тем более, что там не только OGL можно юзать

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
2
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта