Обновить
28
0
Алексей@MarkWatney

Пользователь

Отправить сообщение

Я использовал вектора разного размера, потому что большинство операций могут работать в любой размерности. А кватернион — это 4х мерный вектор, вот и вся связь.
Кватернионы хороши, но не особо нужны для дальнейших задач в этом направлении

Я так понял там было предложение использовать структурный свет. Несколько кадров с спроецированной сеткой — для вычисления геометрии, и один кадр без неё — для вычисления цвета точек.
И какой вообще софт использовали?

Трёхмерная реконструкция происходит следующим образом:
  • Запоминаются кадры нашего потокового видео.
  • Затем эта последовательность кадров разбиваются на короткие наборы (штук по 5).
  • Из каждого набора потом создается карта глубины. При этом получается много ошибок, поэтому приходится жестко фильтровать и размывать в процессе.
  • Далее строится полигональная сетка изоповерхности (алгоритм marching cubes) из скалярного поля, созданного с помощью карт глубины.
  • Изоповерхность разбивается на подмодели, на которые уже накладываются текстурные координаты.

На выходе получаем трёхмерную модель, которую можно сохранять.
Нет, ничего похожего я не видел, да и до некоторых вещей мне пришлось доходить изучая исходный код.
Я, к сожалению, не могу проверить работу приложения на железе, которого не имею. Но вы можете попробовать скомпилировать проект под свою платформу самостоятельно. Я не использовал каких-то внешних библиотек, так что проблем с настройкой проекта не будет. Если вдруг возникнут какие-то вопросы, готов на них ответить.
Да, похоже моя ошибка, не учел обратный порядок байт. Вот только напрямую с байтами я не работаю, данные приходят уже в виде текстуры, либо в виде массива и сразу отправляются в текстуру. А OpenGL, судя по всему, никак не учитывает этот порядок байт. Довольно не очевидная проблема по моему.
2

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность

Специализация

ML developer
Старший