А есть ли в Qt клонирование объектов со всем текущим состоянием?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 27.09.19 17:21
Оценка:
Здравствуйте!

Вот мне надо создать десяток мешей (Qt3D) — QMesh, и загрузить в каждый довольно жирный STL файл — всего в сумме все STL/OBJ занимают метров 30, но это совсем не предел. Сейчас их загрузка занимает несколько секунд. Это не слишком долго, но хотелось бы из одних и тех же файлов не перечитывать всё заново, а по максимуму использовать уже готовые объекты, считанные из тех же файлов. Ну, и иногда надо перечитать их все, если что-то изменилось. Тут уже и несколько секунд неприятны.

Конструктора копирования, как я понял, нет — у QMesh только конструктор:
QMesh::QMesh(Qt3DCore::QNode *parent = nullptr)


Так как QMesh — потомок QNode, то попытка создания копии будет понята как создание нового меша с парентом в виде имеющегося.

Кто виноват и что делать?
Маньяк Робокряк колесит по городу
Re: А есть ли в Qt клонирование объектов со всем текущим состоянием?
От: Homunculus Россия  
Дата: 27.09.19 17:25
Оценка:
Здравствуйте, Marty, Вы писали:

M>Кто виноват и что делать?


Отделить работу с геометриями от Qt.
Ты зря выбрал кутешный рендер. Он там крайне кривой.
Re[2]: А есть ли в Qt клонирование объектов со всем текущим состоянием?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 27.09.19 18:12
Оценка:
Здравствуйте, Homunculus, Вы писали:

M>>Кто виноват и что делать?


H>Отделить работу с геометриями от Qt.

H>Ты зря выбрал кутешный рендер. Он там крайне кривой.

Зато кроссплатформ и "искаропки" с фрейворком.
Пока вроде особой кривизны не заметил.
Я нуб и в кьюте и в рендерерах. Думаешь, стоило ковырять сразу две незнакомых области?

И ты что посоветуешь?
Маньяк Робокряк колесит по городу
Re[3]: А есть ли в Qt клонирование объектов со всем текущим состоянием?
От: Homunculus Россия  
Дата: 27.09.19 18:15
Оценка:
Здравствуйте, Marty, Вы писали:

какие две? OpenGL. Кроссплатформенне не придумаешь.
STL — наитупейший формат. просто треугольники.

Читаешь массив треугольников и кидаешь в OpenGL. Все.
Если GUI на кутях, то рисуешь в QOpenGLWidget.
Re[4]: А есть ли в Qt клонирование объектов со всем текущим состоянием?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 27.09.19 18:21
Оценка:
Здравствуйте, Homunculus, Вы писали:

H>какие две? OpenGL. Кроссплатформенне не придумаешь.

H>STL — наитупейший формат. просто треугольники.


H>Читаешь массив треугольников и кидаешь в OpenGL. Все.

H>Если GUI на кутях, то рисуешь в QOpenGLWidget.

А освещение, камера, материалы, вот это вот всё как? Да и трансформации, вроде как в OpenGL что-то есть, но там нет нормальной иерахии объектов, самому всё городить придется.

Да и с OpenGL я тоже на "Вы". Трехмерной графикой никогда не занимался. Вернее, когда-то ковырял палочкой и OpenGL, и DirectX, но не понравилось. Без удобной библиотеки поверх них и то и другое — гемор еще тот.
Маньяк Робокряк колесит по городу
Re[5]: А есть ли в Qt клонирование объектов со всем текущим состоянием?
От: Homunculus Россия  
Дата: 27.09.19 18:22
Оценка:
Здравствуйте, Marty, Вы писали:

Тогда почему этой задачей занимаешься ты?
Re[6]: А есть ли в Qt клонирование объектов со всем текущим состоянием?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 27.09.19 18:28
Оценка: +1 :)
Здравствуйте, Homunculus, Вы писали:

H>Тогда почему этой задачей занимаешься ты?


Понемногу просто ковыряю по вечерам. Решил потрогать Qt, а тут нарисовалась практическая проблема. Получится — буду свой код на своем симуляторе отлаживать, сделаю всё раньше других и буду красавчиком. Не получится — буду ждать очереди на доступ к телу, а на вопрос: "почему так долго возишься" буду отвечать: "машинного времени мало выделяется"
Маньяк Робокряк колесит по городу
Re[7]: А есть ли в Qt клонирование объектов со всем текущим состоянием?
От: Homunculus Россия  
Дата: 27.09.19 18:37
Оценка:
Здравствуйте, Marty, Вы писали:

ну, по-моему в погоне за простотой ты сделал все сложнее.
В сети полно примеров OpenGL сцен с настроенными освещениями и материалами и камерами, которые тупо рисуют кубик. Даже и не надо шибко в OpenGL лезть, просто код отрисовки кубика заменяешь на код отрисовки твоих треугольников.

Если хочешь анимацию, то с матрицами по-любому надо разобраться. А разобравшись, сунуть нужный код в уже рисующий код OpenGL — проблема пары часов.
Re[8]: А есть ли в Qt клонирование объектов со всем текущим состоянием?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 27.09.19 18:59
Оценка:
Здравствуйте, Homunculus, Вы писали:

H>ну, по-моему в погоне за простотой ты сделал все сложнее.

H>В сети полно примеров OpenGL сцен с настроенными освещениями и материалами и камерами, которые тупо рисуют кубик. Даже и не надо шибко в OpenGL лезть, просто код отрисовки кубика заменяешь на код отрисовки твоих треугольников.

В OpenGL есть STL искаропки? Вроде двоичный STL не сложен, но тоже время на либо поиск и адаптацию готового кода, либо на написание своего.
Да, OBJ тоже хочется


H>Если хочешь анимацию, то с матрицами по-любому надо разобраться. А разобравшись, сунуть нужный код в уже рисующий код OpenGL — проблема пары часов.


С матрицами я разбирался в своё время, когда курсач по КГ слабал за несколько дней. Тогда вроде бустовый ublаs (или как оно там, для матриц, зовется?) для них использовал. Но я тупо на виндовом DC рисовал свои каркасные модели, курсовик другого студента на DirectX выглядел намного лучше моего, но он его даже не месяц пилил, а весь семестр. Зато у меня можно было сделать развертку модели на плоскость

Понимание матриц не освобождает от написания иерархии своих объектов для удобной работы с несколькими сочленениями. И, конечно же, хочется без перекомпиляции уметь подсовывать другую модель с другой геометрией и кинематикой
Маньяк Робокряк колесит по городу
Re[9]: А есть ли в Qt клонирование объектов со всем текущим состоянием?
От: Homunculus Россия  
Дата: 27.09.19 19:04
Оценка:
Здравствуйте, Marty, Вы писали:

Ты я вон гляжу неделю назад спрашивал и про булево вычитание
Ты на коленке как курсовую за неделю хочешь полноценную CAD систему накидать, похоже

Не выйдет
Re[10]: А есть ли в Qt клонирование объектов со всем текущим
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 27.09.19 19:11
Оценка:
Здравствуйте, Homunculus, Вы писали:

H>Ты я вон гляжу неделю назад спрашивал и про булево вычитание


А это где, а то самому интересно стало
Не скинешь ссылку?
Я, кроме "политики", вроде давно никуда не заходил

H>Ты на коленке как курсовую за неделю хочешь полноценную CAD систему накидать, похоже


CAD — не хочу. А вот какой-то плеер с возможностью некоторого управления для нескольких совмещенных готовых моделей — хотелось бы


H>Не выйдет


Ну как, может и выйдет. Немного подольше, но в пару месяцев, думаю, уложусь
Маньяк Робокряк колесит по городу
Отредактировано 27.09.2019 19:14 Marty . Предыдущая версия .
Re[11]: А есть ли в Qt клонирование объектов со всем текущим состоянием?
От: Homunculus Россия  
Дата: 27.09.19 19:14
Оценка:
Здравствуйте, Marty, Вы писали:

да вон тема про пирамидку в этом разделе

M>Ну как, может и выйдет. Немного подольше, но в пару месяцев, думаю, уложусь


Удачи. Я этим последние 15 лет на хлеб зарабатываю
Интересно посмотреть как человек за 2 месяца напишет то, что я делал 6 лет
Re[12]: А есть ли в Qt клонирование объектов со всем текущим состоянием?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 27.09.19 19:27
Оценка:
Здравствуйте, Homunculus, Вы писали:

H>да вон тема про пирамидку в этом разделе


Так та тема-то о том, что я про вычитание знаю, а не знаю как это в кутешном 3D сделано, если вообще сделано. Я просто вычитания не нашел там в API, вот и спросил тут. А ты чего подумал?


H>Удачи. Я этим последние 15 лет на хлеб зарабатываю

H>Интересно посмотреть как человек за 2 месяца напишет то, что я делал 6 лет

Ну, наверное ты делал что-то более могучее, чем хочу я. Если нет, то наверно я обосрусь, и делов-то Опыт, опять же, сын ошибок
Маньяк Робокряк колесит по городу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.