LINUX.ORG.RU
ФорумTalks

Видео сервер, хранящий данные в БД

 , , ,


0

1

Здравствуйте! Хочется странного: видео сервер, который хранит данные о 3D-объектах в БД типа BerkeleyDB. Т.е. видео сервер, отдельный процесс, отслеживает изменения в БД и выводит их на экран, а другие процессы, чтобы что-то отобразить на экране меняют БД.

Причём данные об объектах упакованы в дерево вроде R-деревьев, только 3D, чтобы можно было хранить поистине огромные сцены, но лёгким запросом выделялись бы только объекты близкие к камере.

Особой фичей такого видео сервера должно стать создание «сценшотов». Это как скриншот, но копирует всю БД сцены и там можно посмотреть не только текущее положение камеры, но и обойти кругом всю сцену с замершими объектами.

Может уже есть такое? Или такого нет по какой-то элементарной причине, что это будет больно медленно. Но мне почему-то кажется, что может и быстро быть на современных-то машинах. Мечтатель?

★★★★★

Щас прибегут эксперды ЛОРа и начнуть петь заводную песенку про то, как же плохо хранить бинарные объекты в БД....

Другое дело, что нужно подобрать иной тип БД, например NoSQL --> CouchDB, который очень неплохо должен работать с бинарными объектами (типа киллер-фича перед тем же MongoDB).

bookman900 ★★★★★
()
Ответ на: комментарий от bookman900

иной тип БД ... который очень неплохо должен работать с бинарными объектами

Файловая система, не?

Xellos ★★★★★
()
Ответ на: комментарий от dk-

Количество камер для съемки прикидываешь?

Камера будет такой же объект в БД перемещаемый. В большинстве случаев и одной камеры хватит. А несколько камер может быть удобно держать для поддержки нескольких видов («со спины», «из глаз», «с боку» и т.д.), но можно и одной камерой всё равно реализовать.

unDEFER ★★★★★
() автор топика
Ответ на: комментарий от invy

Ну овал вместо человека они сошоют, да. С квадратом расстояния все жутко падает.

dk-
()
Ответ на: комментарий от bookman900

как же плохо хранить бинарные объекты в БД

Нет, бинарных объектов в БД не будет, точнее крупных бинарных документов в листьях БД хранится не будет. Листья БД - точки, грани, стороны, ссылки на более крупные объекты. Для хранения таких объектов Berkeley DB идеально подходит.

unDEFER ★★★★★
() автор топика
Ответ на: комментарий от dk-

Т.е. ты про 3д рендер, а не реальную съемку видео?

Да

unDEFER ★★★★★
() автор топика

поиск ближайших соседей на графе, задача очень нетривиальная и «лёгкими» запросами тут не обойтись

mm3 ★★★
()
Ответ на: комментарий от mm3

поиск ближайших соседей на графе, задача очень нетривиальная и «лёгкими» запросами тут не обойтись

Да нет же. «Ближайшие» - это очень грубо. Будет просто вырезаться параллелепипед, включающий в себя «конус», вершиной которого является наблюдатель, а высота конуса соответствует дальности горизонта.

unDEFER ★★★★★
() автор топика
Ответ на: комментарий от unDEFER

Это твоё «просто» может обратиться в квадратичную, кубичную или ещё что похуже, зависимость от количества элементов и получишь на выходе один кадр видео в полчаса

mm3 ★★★
()
Ответ на: комментарий от mm3

А вы с R-деревьями знакомы? Логарифмическая там сложность, как и в любом нормальном дереве.

unDEFER ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.