2. Обо мне
Являюсь руководителем группы разработки ПО, тимлидом команды
«3D Карта», которая разрабатывает графические движки для всей линейки
продуктов 2ГИС.
Участвовал в разработке:
Графических движков
Систем обработки видео
Биллинговых систем
Решений в области защиты информации
Работал в компаниях:
2ГИС
Fortess
Softomate
5. Требования и ограничения мобильных
платформ:
Кроссплатформенный растеризатор
Отделение логики отображения от остального кода
Слабые CPU
Дефицит ОЗУ
Дефицит ПЗУ
Разные дисплеи и разрешения
15. Сцена: требования к организации
данных
Эффективность отрисовки данных
Оперативная память
Дисковая память
Эффективность управления объектами
Подготовка сцены к
рендерингу
19. Техника рендеринга полупрозрачных
3D объектов
Подход:
1. Все 3D объекты разбиваются на
выпуклые полигоны на этапе
подготовки данных
2. Определение перекрытий на
экранной сетке
3. Сортировка в плоской проекции
20. Верхний уровень: система
Условных Знаков
Гибкая система управления внешним видом объектов:
Задает геометрическое преобразование
Задает цвета, ширину линий, технику рендера.
Анимирует объект
21. Верхний уровень: масштаб карты
Обеспечивает большую информативность на
больших экранах
Не перегружает карту деталями на маленьких
экранах с высоким DPI.
23. Что еще предоставляет API движка?
Взаимодействия с
пользователем
Гео-поиск
Управления динамическими
объектами карты
Определение пересечений и
расстояний между объектами
Конструктивная геометрия
(CSG)
24. Как мы решали что должно быть и
чего не должно быть в движке?
Данные, которые нужны для выполнения
задачи.
Существующий код, который используется
для реализации функциональности.
Ответственность команды за код.