Создание карт для бытовых DVD-плееров. 3D-рендеринг.

Почитал фуршет Темочки про ОСМ, понравились вопросы о стилях отрисовки и 3D, в связи с чем я вспомил свою старую идею:

А почему бы не создать компилятор карт для DVD-плееров? Уже существуют конверторы под различные навигаторы, но ведь иногда просто надо уточнить где находится какой-то конкретный дом/больница, на каком транспорте лучше ехать. Просто вставляем диск в плеер, берем в руки пульт - и можем елозить по карте, искать на ней POI, смотреть движение транспорта, да и просто искать адреса / уточнять названия улиц. Конечно, это будет статично, но никто не мешает выпускать такие билды регулярно.

Поскольку плееры умеют воспроизводить только пререндеренное видео (блюреи у нас еще недостаточно распространены), то рисовать можно что угодно, значительных ограничений на время рендера/вес изображения нет, хоть 3D-карты (честное 3D без изометрии) вроде Google Earth, что для рядового пользователя упрощает ориентирование.

Ссылки:
http://rghost.ru/4776831 - мое творчество (моделька показана со второй минуты и в самом конце). Рендер очень простой и делался на основе польской карты, т.е. информацию о отображении дорог / тротуаров / газонов взять просто негде, фактически что было - то и отрендерил. Высоту домиков проставлял автоматически методом статистики и рандома :slight_smile:

http://rghost.ru/4792911 - просто пример рендера, что можно сделать при достаточной информации. Конечно, модельки зданий никто делать не будет, но там на заднем плане просто квадратики с деревцами - это вполне можно рендерить на полном автомате

http://vimeo.com/18946138 - как это в германии. Где-то там была браузерная бродилка, но я ее не смог сейчас откопать

Я могу это реализовать, но хотелось бы в первую очередь услышать мнения о нужности такой штуки. Во вторую очередь надо будет добавить информации для рендерера, а то http://wiki.openstreetmap.org/wiki/OSM-3D мало чего интересного дает, http://wiki.openstreetmap.org/wiki/3D_Development - тут тоже, возможно кто-то этим уже занимался и есть пропозалы, но хорошей спецификации я не нашел. Если это конечно нужно.

Это очень крутая идея, но сомневаюсь, что пригодится в реальном мире: обывателю проще купить бумажную карту.

одни из обывателей - автомобилисты. Сейчас DVD в автомобилях встречается, имхо, всё чаще. Предполагаю, что есть слои “автонаселения”, которые не пользуются навигаторами, но имеют DVD. Да и для “диванного” применения найдутся потребности.

Идея интересная

Имхо, это всё равно, что портировать Дум на осциллограф. :slight_smile:

девяностые: кто бы мог подумать использовать сотовые телефоны для отображения полноцветной карты с пробками?
и, между прочим (в отличие от известного “генератора идей”), человек указал:

И привел некоторые реальные наработки

То есть нужно просто отрендерить карту и записать все возможные перемещения в видео?

Вы не поверите, насколько почти правы оказались)

Верно. Расставляем над моделькой тысячи камер (точнее, количество всех возможных видов, надо захватить каждый дом на детальный уровнях), линкуем переходы (например, от камеры “общего” вида карты города будут переходы к камерам[микро]районов города), если есть возможность - рендерим переход, дабы пользователь “подлетал” к нужному месту и не терялся. Чем ниже уровень - тем сильнее можно наклонить камеру, объекта на переднем плане будет видно хорошо, зато на заднем плане будет видно еще половину района. Так как я люблю крутить карты, то на 1 обзорную точку можно поставить 3-4-8 камер, дабы можно было вращать город/улицу/облетать домик с разных сторон (если мы наклоняем камеру, то поворот превращается в облет), до кучи будет работать кнопка “angle” на пульте плеера, а то она почти не используется :). Если город не большой и рендер много места не занимает, то можно придумать дополнительные режимы, например, полупрозрачность, но каждая такая фишка может легко удвоить объем рендера. При желании можно добавить камеры и переходы на дорожном уровне, что будет полезно при поиске дорог, чем-то это может напомнить Str**tView, где каждый поворот - менюшка. Аналогичным образом рендерим текстовые менюшки с названиями улиц/адресов/категориями POI и линкуем их с камерами. Так как у нас нету клавиатуры и скроллинга, то менюшки делаются деревообразными, т.е. сначала рисуем первые буквы дорог, потом полные названия, а от них идет переход уже к самой улице (такой переход можно рендерить с подсветкой улиц/домов, дабы “красненький домик” был сразу заметен).

Особенность DVD как платформы в том, что там достаточно примитивная VM, Доступно 32 байта памяти (16 регистров по 16 бит), не более 128 логических команд на GPC, зато можно читать системные регистры. На одном кадре не более 36 кнопок меню (если мы будем елозить по карте, то 4 кнопки уходят на скроллинг, 3-4 кнопки уходят на меню, которое должно быть всегда, 2 кнопки на повороты, оставшиеся 26 кнопок - это выбор районов/улиц/домиков. Кнопки не должны пересекаться между собой (тут правда есть нюансы, маньяки с doom9 тут показывали разные извращения, в автоматическом режиме такое сложно сделать), но это легко обходится простыми метками и надписями, внедренными в саму картинку.

Когда я делал рендерер для польских карт, то внезапно осознал - я не знаю как это рендерить! Ну линии, ну полигоны. Добавить это в сцену легко, а вот где рисовать газон, где расставлять деревья, столбы освещения, кусты, ПОРЕБРИК с тротуаром - этой информации у меня небыло. Аналогичная проблема с дорожной разметкой, она бы не помешала, это точно. Даже этажность я генерил сам (благо вOSM это есть). Результат все видели, с 2 другими роликами не сравнить. Но я думаю, что это общая проблема для тех, кто занимается 3D.

Второй и третий ролик выглядят как сделанные в 3d редакторе, а не сгенерированные.

Автонавигаторы, коммуникаторы и КПК нынче распространены не меньше DVD-плееров, программ под них больше, интерактива они дают на порядок больше, пользоваться удобнее, видно положение пользователя, в некоторых случаях можно выйти в интернет.
Лучше потратить свою энергию на что-то более полезное, например создать компилятор карт Kiwi для штатных автонавигаторов (можно считать их по совместительству DVD-плеерами :)) - пол-России будет в восторге.

лучше напишите конвертер карт для iGO :))

А формат известен?

Про третий ролик я ничего не могу сказать, это не мое, а вот второй - верно, это коммерческий проект по визуализации, сделанный в редакторе, да еще и с пост-обработкой, причем чуточку недоделан :]

Но скажи, чем отличается работа в редакторе от работы генератора, если у нас есть набор данных, который и нужно визуализировать, причем отсебятины не добавлять?

Рисование полигонов всяких парковок - автоматическое
Текстурирование - есть типы, не совсем верно, но можно заранее создать библиотеку материалов.
Дороги - есть данные о количестве полос и направлении. Мало конечно, но для начала хватит.
Домики - есть данные о этажности и стилях крыш (это не куцый мп, который я начинал использовать)

Фактически рендерер представляет из себя интерпретатор геоданных, какие данные ему дадут - то он и отрисует. Так был сделан мой 2D-рендерер во флеше, так был сделан мой 3D-рендер из ролика. А если нарисовалось криво, то значит и данные не лучшего качества. Это справедливо для любого рендерера, но в одном случае косяки будут сразу видны, в другом случае - нет.

Дам несколько ссылочек о генерации:
http://www.youtube.com/watch?v=-d2-PtK4F6Y - Pixel City. Классика. Быстро, просто, красиво.
http://www.youtube.com/watch?v=lXVIuoPlMpY - это уже коммерческий генератор CityEngine
Рекомендую пойти по релейтед ссылкам, там и реконструкция рима есть, и даже испорт данных из OSM показан, различные эксперименты с CryEngine (попадался ролик с очень красивой прогулкой по частному сектору). Надеюсь, что вы измените свое отношение к автоматическим рендерам. Да, порой данных OSM мало для качественной 3D-визуализации (рекомендую http://www.youtube.com/watch?v=hP0rI58FVZ8 - пример параметрической улицы, какие могут быть нужны данные для рендера дорог и развязок), но что мешает добавить их в ОСМ? Ведь это настоящие, реально существующие данные, а не художественное оформление. Если в OSM даже отдельные деревья добавляют, то данные о улицах точно не будут мешать.

Если для навигаторов уже существуют программы - зачем создавать что-то еще? :wink:
Идея не в том, что дать автомобилистам еще одну карту, а дать тем людям, у которых и инета то дома нет, зато есть DVD-плеер. Создание карты для DVD - это расширение аудитории, выход в оффлайн если угодно.

А зачем помогать проприетарщине? Если и развивать проприетарщину, то только свою, велосипедную (у меня такой был, в ролике на 3-4 минуте показан телефонный эмулятор с 3D-картой внутри, это настоящий эмулятор, а не имитация, но на телефоне у меня тормозило сильнее)

определённо, I like it

+1

Saransk
В первом посте вы спросили мнение окружающих, я свое выразил. Насчет людей без интернета - а откуда они будут скачивать DVD-диск ? Просто жаль когда люди тратят свои знания на заведомо мертворожденные проекты.

Вот мне тоже кажется, что этот проект не стоит усилий.

В проэктах с добровольным участием вопрос стоит следующим образом: либо человек делает то что ему интересно, либо не делает ничего.

Стоит усилий не стоит - решает владелец усилий. Хуже от того что карта будет на двд - не будет. Я бы скачал - просто из интереса такую. В общем я за.

Наверное понял как оно будет выглядеть. Спасибо за ролики :slight_smile:

Боялся что в OSM не хватит данных, чтобы по ним сгенерировать картинки с красивыми домиками, очень похожими на реальные (трубы, балконы, как выглядят рамы в окнах, и всё такое). Но с другой стороны всё это можно генерировать случайным образом для насыщенности деталями. Вначале. А потом уже вдруг кто-то сделает отдельную базу 3d моделек домов с привязкой к ОСМ и редактором типа Google Sketchup.

Вопрос такой: генерировать картинки собираетесь сами (opengl?) или сконвертировать OSM в сцену для 3d редактора, а там уже её просчитать?

А какая принципиальная разница?
Построение сцены пригодной для 3D рендеринга - cущественно более сложная задача, чем сам рендеринг.
А с учетом того, что рендер может быть заточен под конкретный стиль данных, а не наоборот - может оказаться, что проект с собственным рендером окажется менее трудозатратным.

у нас уже есть рендеры, а вот конвертора OSM в тот же 3D max или blender нету. Если сами DVD-шки не пойдут, (хотя могут и занять своё место на полках магазинов среди справочников и энциклопедий), то конвертор скорее всего пригодится :slight_smile:

Да и рендеры там делались годами, с таким количеством фич, и возможностей, что самому такое сложно будет написать. И можно получить гораздо лучшее качество картинки. Использовать готовую базу объектов (деревья, машинки, кустики) ну и т.д.