Обновить
72
Roman Kuznetsov@rokuz

Software Engineer

22
Подписчики
Отправить сообщение
Когда пользователь включает пробки в нашем приложении (и при этом находится в режиме автонавигации), он активирует анонимный сбор статистики в реальном времени. Без этого получить актуальные пробки, к сожалению, не представляется возможным
Мы агреггируем информацию о треках и скоростях движения в реальном времени. Не все ещё идеально, возможно, там действительно что-то не то в районе Тверской
По идее не должно быть такого.
Напишите, пожалуйста, на support@maps.me
Чем точнее сможете описать условия воспроизведения, тем более вероятно, что мы это найдём и исправим)
Смотрите, непрозрачную часть вы должны нарисовать до того, как начинаете работать с полупрозрачной, так как непрозрачная часть должна заполнить буфер глубины. Без этого полупрозрачные объекты не смогут быть перекрыты непрозрачными. earlydepthstencil отбрасывает такие фрагменты до обработки, а шейдер строит списки связности. Затем вы начинаете рисовать экранный квад, в котором читаете из текстуры, хранящей в списки связности, получаете N фрагментов, сортируете и смешиваете. Результирующий цвет рисуется прямо на BB в случае DX11.

>каким образом шейдер знает, что нужно записывать значения именно в ту unordered текстуру, которую я ему выделил?

Вы выставляете ее как render target.
Обратите внимание на дальнейшие шаги: полупрозрачная часть рисуется поверх при помощи полноэкранного квада. Поэтому в данном случае, непрозрачную часть можно рисовать в системный BB сразу.
Правильно ли я вас понял? Мы рисуем в AO-тестуру всю геометрию в сцене, для каждого полигона в сцене мы вызываем геометрический шейдер, из которого вытягиваем ваш bounding volume, а в пиксельном шейдере реализуем пофрагментное пересечение того что есть в AO-буфере, с новым bounding volume, освещенным хитрым образом по вашей формуле затухания, и все это блендим?

Не кажется ли вам, что если все это так, то это выглядит довольно тяжелым для высокополигональных сцен, в особенности, геометрический шейдер? Хотелось бы увидеть оценку по скорости отрисовки в сравнении c SSAO.
Спасибо за ответ
Вы правильно заметили («если не WPF»), но вопрос не поняли. Если у вас Windows 7+ какой смысл в нативном интерфейсе и WinAPI, если есть WPF, есть C++/CLI (если не устраивает C#). Для меня единственной осмысленной причиной этого может быть поддержка Windows XP и ниже. Отсюда и вопрос.
Пост хороший с точки зрения теории смешивания цветов. Но не могу не спросить, под какой Windows вы программируете, что там до сих пор есть необходимость работать с GDI? О_о
Мы, конечно, пытаемся воспользоваться любой информацией, которую можем найти :) Интересные вещи иногда пишет Mapbox. Со стрелками сами разработали алгоритм рендеринга, хотя на оригинальность решения не претендуем.
Не совсем понял ваш вопрос. Если вы про то, собственный ли у нас движок для отрисовки, то да :) Можете даже назвать его велосипедом, если хотите. Однако, сторонних решений, полностью удовлетворяющих нашим потребностям и с подходящей лицензией, просто нет.
Что-то мне подсказывает, что ST_Buffer и ST_Union должны делать примерно то же самое, что я описал, чтобы результирующая геометрия не перекрывалась в местах стыков :)
Из системы построения маршрута к нам в графический движок приходит ломаная, по ней надо сгенерировать полигоны. Функции из Гео Баз Данных мы использовать не можем, просто мы уже не имеем этих баз на уровне приложения :) Данные, которые мы получаем из OSM, упаковываются и обрабатываются нашими алгоритмами, и такие красивые запросы нам уже не доступны.
Мы постоянно работаем над улучшением визуальной привлекательности наших карт, если поймем, что есть реальная потребность в изменении ширины в зависимости от типа дороги — обязательно сделаем. Пока, на сколько мне известно, обращений по этому поводу очень мало.

Не могли бы поподробнее описать ваш метод? Что вы имеете ввиду под «задать буфер в несколько метров и перейти от линий к полигонам»?
Чтобы закрыть тему ложных пуш-уведомлений — vc.ru/n/maps-push-bag
В конце текста есть опрос, где вы можете предложить, как нас «наказать» за это :)
Приносим извинения за досадный сбой.

> На днях платная версия взбесилась
Актуальная версия приложения полнофункциональна и бесплатна во всех сторах.
2. Ждите официального анонса;
3. Откуда информация, что мы используем antigrain?) AGG у нас только для рендеринга на Apple Watch.
Спасибо за информацию, обязательно попробую так. Я руководствовался документацией, откуда цитату и привел. Возможно, это решит мою проблему с Deferred Shading.
Это была не дезинформация:) Касательно сроков ждите официальных анонсов.
Спасибо, за хорошие вопросы :)
1) Обводка делается по-разному. В большинстве случаев это полигон-подложка. Для линий дорог сейчас мы делаем обводку в шейдерах. Чтобы обводка не рисовалась поверх другой дороги на перекрестках, специальным образом модифицируем gl_FragDepth.
2) Все линии превращаются в полигональные сетки. Штрих-пунктирные линии образуются при помощи текстурных масок и альфа-блендинга.
3) Триангуляция происходит заранее, на этапе предподготовки данных.
4) sgitess от SGI GLU implementation
5) Да, геометрический индекс.
6) Да, отдельный поисковый индекс.
Мы работаем над этим)

Информация

В рейтинге
Не участвует
Откуда
London, England - London, Великобритания
Дата рождения
Зарегистрирован
Активность