Система распределённой визуализации для авиа-симуляторов
Доброго времени суток.
...
Недавно обратились ко мне с подрядом на разработку системы распределённой визулизации на базе движка Unreal Engine.
Несколько лет назад я руководил разработкой аналогичной подсистемы авиа-симулятора для Антонов АН-148.
...
Цель данного поста — найти специалистов с необходимым наборов технологий, свободным временем и желанием.
...
Что из себя будет представлять модуль?
Посистема должна будет позволять синхронизировать каждый кадр цикла визуализации вплоть до 8 каналов.
Простыми словами: на
Соответственно основная функция приложения — избежать рассинхронизации между каналами, чтобы суммарное изображение выглядело цельным.
...
Разработка для Украинского рынка и рынка Казахстана. Планируется к применению в симуляторах для гражданских самолётов и вертолётов.
...
Необходимы навыки
* С++
* Понимание общих принципов систем визуализации
* Опыт разработки сетевых приложений, мультиплееров для компьютерных игр
...
Длительность разработки
2 месяца на бета-версию, ещё через 2 месяца заказчик должен будет получить мастер-версию.
...
Оплата
Сейчас мы находимся на этапе уточнения тех задания, но ниже рынка никто платить и разрабатывать не будет. Здесь все обсуждаемо.
...
Если Вам интересно принять участие в разработке данной подсистемы, пишите в личку.
...
Спасибо.
update Если опыт разработки подсистемы будет положительный, заказчик готов заключить годовой договор на разработку остальных модулей ПО: взаимодействие с центральной системой управления, мат. моделью ЛА, интеграция с Oculus Rift и т.д.
28 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівКак оно выглядело, интересно было бы послушать и что не устраивает в ней сейчас.
Вчера вкратце коснулся этой темы на IT fest от GoIT, там была категория fresher-ов, switcher-ов, так что технических деталей почти не касался, но о проете можно говорить бесконечно, начиная от тех вопросов и до того как в UA делается бизнес )))
По моему вы изобретаете FSX, причем быстро и дешево
Террайн туда можно впихнуть какой угодно, плюс здания и ещё кучу всего. Рабочие сетапы на 6 мониторов я видел. Есть версия, которую развивает Lockheed Martin, она доступна и не сильно дорого. Я под этот сим много чего сделал, лучше и дешевле этого не будет. Лучше и дороже — да. Причём стоимость компьютерного железа в общей стоимости решения будет составлять мизер.
И что тяжелая сильно графика в том симуляторе? Автомобильный surround view camera сшивает 6 или 8 камер на SGX544 + Dual Core ARM A15 1.3GHz. Берём большую поверхность (surface) разбиваем на две для облегчения и равомерной загрузки и рендерим изображение 1280×720 по-очерёдно с3-4 камер в каждую из поверхностей с постобработкой, lens correction, etc. фигурная обработка текстур по контурам машины, для того чтобы съэмулировать вид сверху и под любым углом, 60FPS легко выходит. Многие прототипы дорогих автомобилей, выпуск которых намечен на 2018 год можно будет водить по приборам, и ездить как в NFS :)
Это, конечно, уже даже не вчерашний, а позавчерашний день, но общее представление даёт:
www.youtube.com/watch?v=xqbpqDZRd70
Я к чему, неужели современная видеокарта не сможет дать200-300 FPS в симуляторе, чтобы успевать рендерить по 60 fps каждый из участков?
смешивать изображения с камер и рендерить 3D чуть разные задачи.
...
1. Разрешение. Для проекта AN-148 мы использовали три барковских проектора 2560×1600, тоесть выходное изображение 7680×1600 != 1280×720
2. Чтобы вывести финальное изображение, его всё-равно прийдётся разбивать и выводить на отдельные проекторы.
3. Горизональный FOV > 200 градусов, это закабинное пространство авиасимулятора, для вертолётов даже больше. Отрендерить одним проходом не получиться, к тому же чем больше FOV тем больше искажений. Для того же AN-148 было 6 независивых каналов, каждый рендерил ~40 градусов.
4. Эффективность. По левому борту лесополоса, по правому аэропорт. Если загонять всю геометрию сразу, то накладно для «пустых» каналов, в противном случае — дополнительные вызовы загрузки данных на видеокарту.
...
И таких нюансов ещё много, так что на данный момент — распределённый рендер: оптимальное решение для авиа симуляторов.
Не надо разбивать, рендерите кусочками.
Так и делайте таким же образом, но на одной машине последовательно.
Если будет рендерить одна видеокарта, то это даже добавит эффективности.
На самом деле это решение далеко от оптимальности, вот образец решения, но вам он не особо подойдёт из-за Unreal.
Берём две Matrox C420, имеем 8 видеовыходов на одной машине, ставим для начала одну безголовую nVidia Tesla. Затем параллельно рендерим 8 картинок через tesla в pbuffer и отображаем их через Matrox, когда готовы все 8. Особенность tesla в том, что она спокойно выдержит параллельный рендеринг тяжелых сцен, а вот на последовательном рендеринге мы не сможем утилизировать всю мощь.
Загрузить 100 км ландшафта и Борисполь с Киевом. Сделаете такое решение — обанкротите Боинг с Аирбасом и Антонов на сдачу. Но что-то пока все рендерят параллельно.
Повторюсь — тут рендериться не два треугольника. Запас прочности у односерверного решения как раз меньше. Поставил 6 видеокарт на 20% быстрее — ускорил всю систему в разы. Стоимость аналогичной теслы будет отличаться на порядок и ещё не факт что вытянет.
Так дорого симулятор никто в UA строить не будет. Помимо графической составляющей, есть куча подсистем с приличной стоимостью. И это надо продать вместе с самолётами\вертолётами, потому как по ИКАО по-другому нельзя.
В точку, это одно из самых больных мест )
0-16 км — не менее 0,1 м/пиксель;
вот из ТЗ
в радиусе 16 км — не хуже 2 м/пиксель
300×300 км — 5 м/пиксель
...
Если по-честному — то нужно покупать. Но обычно выкручиваются — покупают только территорию аэропорта. Vega Prime — например даёт в поставке, но там качество так себе.
Остальное собирают из открытых источников.
Да, это только подстилающая поверхность.
Здания, дороги, растительность — отдельно, это ещё один головняк.
Ну я не с головы решение предложил, ну да ладно.
Да нет так уж это и дорого.
LOD-ы никто не отменял же
И мипмапы тоже, но на таких размерах не все так радужно как в макспейне )))
Проект цікавий, та от проблема — покинути роботу, зробити проект і потім знову шукати роботу? Це хіба для фрілансерів варіант.
В принципе да, на формат удалённой работы и расчитываю
А до чого тут дві роботи? Коли одній віддаєш8-12 годин, то покажіть того, хто зможе робити дві.
Может просто взять помощнее комп?
Тут дело больше в видеокарте и математике визулизации. Обычно, симуляторы визуализируют сцену с горизонтальным FoV ~ 200 градусов, отрендерить это на одном канале не получится, к тому же чем больше FoV тем больше искажений и тем дальше изображение от естественного. Попробуйте поставить в любой игре FoV 120.
answers.unrealengine.com/...4-engine-support-sli.html
“Out of the box, if you wish to use all the features of UE4, you should forgo SLI.”
Т.е. такие эффеты, как bloom, lens flare и ещё что-нибудь могут некрасиво сшиваться.
Можна відрендерити частини на різних комп’ютерах без постефектів, а потім усе зібрати і відправити на постпроц одному. Та, якщо чесно, навіщо блум і тд для симулятора? Це ж не кіно Майкла Бея.
А потом опять разбить и отправить на 8 проекторов