Вот мне надо создать десяток мешей (Qt3D) — QMesh, и загрузить в каждый довольно жирный STL файл — всего в сумме все STL/OBJ занимают метров 30, но это совсем не предел. Сейчас их загрузка занимает несколько секунд. Это не слишком долго, но хотелось бы из одних и тех же файлов не перечитывать всё заново, а по максимуму использовать уже готовые объекты, считанные из тех же файлов. Ну, и иногда надо перечитать их все, если что-то изменилось. Тут уже и несколько секунд неприятны.
Конструктора копирования, как я понял, нет — у QMesh только конструктор:
QMesh::QMesh(Qt3DCore::QNode *parent = nullptr)
Так как QMesh — потомок QNode, то попытка создания копии будет понята как создание нового меша с парентом в виде имеющегося.
Здравствуйте, Homunculus, Вы писали:
M>>Кто виноват и что делать?
H>Отделить работу с геометриями от Qt. H>Ты зря выбрал кутешный рендер. Он там крайне кривой.
Зато кроссплатформ и "искаропки" с фрейворком.
Пока вроде особой кривизны не заметил.
Я нуб и в кьюте и в рендерерах. Думаешь, стоило ковырять сразу две незнакомых области?
Здравствуйте, Homunculus, Вы писали:
H>какие две? OpenGL. Кроссплатформенне не придумаешь. H>STL — наитупейший формат. просто треугольники.
H>Читаешь массив треугольников и кидаешь в OpenGL. Все. H>Если GUI на кутях, то рисуешь в QOpenGLWidget.
А освещение, камера, материалы, вот это вот всё как? Да и трансформации, вроде как в OpenGL что-то есть, но там нет нормальной иерахии объектов, самому всё городить придется.
Да и с OpenGL я тоже на "Вы". Трехмерной графикой никогда не занимался. Вернее, когда-то ковырял палочкой и OpenGL, и DirectX, но не понравилось. Без удобной библиотеки поверх них и то и другое — гемор еще тот.
Здравствуйте, Homunculus, Вы писали:
H>Тогда почему этой задачей занимаешься ты?
Понемногу просто ковыряю по вечерам. Решил потрогать Qt, а тут нарисовалась практическая проблема. Получится — буду свой код на своем симуляторе отлаживать, сделаю всё раньше других и буду красавчиком. Не получится — буду ждать очереди на доступ к телу, а на вопрос: "почему так долго возишься" буду отвечать: "машинного времени мало выделяется"
ну, по-моему в погоне за простотой ты сделал все сложнее.
В сети полно примеров OpenGL сцен с настроенными освещениями и материалами и камерами, которые тупо рисуют кубик. Даже и не надо шибко в OpenGL лезть, просто код отрисовки кубика заменяешь на код отрисовки твоих треугольников.
Если хочешь анимацию, то с матрицами по-любому надо разобраться. А разобравшись, сунуть нужный код в уже рисующий код OpenGL — проблема пары часов.
Re[8]: А есть ли в Qt клонирование объектов со всем текущим состоянием?
Здравствуйте, Homunculus, Вы писали:
H>ну, по-моему в погоне за простотой ты сделал все сложнее. H>В сети полно примеров OpenGL сцен с настроенными освещениями и материалами и камерами, которые тупо рисуют кубик. Даже и не надо шибко в OpenGL лезть, просто код отрисовки кубика заменяешь на код отрисовки твоих треугольников.
В OpenGL есть STL искаропки? Вроде двоичный STL не сложен, но тоже время на либо поиск и адаптацию готового кода, либо на написание своего.
Да, OBJ тоже хочется
H>Если хочешь анимацию, то с матрицами по-любому надо разобраться. А разобравшись, сунуть нужный код в уже рисующий код OpenGL — проблема пары часов.
С матрицами я разбирался в своё время, когда курсач по КГ слабал за несколько дней. Тогда вроде бустовый ublаs (или как оно там, для матриц, зовется?) для них использовал. Но я тупо на виндовом DC рисовал свои каркасные модели, курсовик другого студента на DirectX выглядел намного лучше моего, но он его даже не месяц пилил, а весь семестр. Зато у меня можно было сделать развертку модели на плоскость
Понимание матриц не освобождает от написания иерархии своих объектов для удобной работы с несколькими сочленениями. И, конечно же, хочется без перекомпиляции уметь подсовывать другую модель с другой геометрией и кинематикой
Здравствуйте, Homunculus, Вы писали:
H>Ты я вон гляжу неделю назад спрашивал и про булево вычитание
А это где, а то самому интересно стало
Не скинешь ссылку?
Я, кроме "политики", вроде давно никуда не заходил
H>Ты на коленке как курсовую за неделю хочешь полноценную CAD систему накидать, похоже
CAD — не хочу. А вот какой-то плеер с возможностью некоторого управления для нескольких совмещенных готовых моделей — хотелось бы
H>Не выйдет
Ну как, может и выйдет. Немного подольше, но в пару месяцев, думаю, уложусь
Здравствуйте, Homunculus, Вы писали:
H>да вон тема про пирамидку в этом разделе
Так та тема-то о том, что я про вычитание знаю, а не знаю как это в кутешном 3D сделано, если вообще сделано. Я просто вычитания не нашел там в API, вот и спросил тут. А ты чего подумал?
H>Удачи. Я этим последние 15 лет на хлеб зарабатываю H>Интересно посмотреть как человек за 2 месяца напишет то, что я делал 6 лет
Ну, наверное ты делал что-то более могучее, чем хочу я. Если нет, то наверно я обосрусь, и делов-то Опыт, опять же, сын ошибок