SlideShare a Scribd company logo
1 of 26
Трехмерная графика
не для игр


Дурдин Денис,
2ГИС
Обо мне
Являюсь руководителем группы разработки ПО, тимлидом команды
«3D Карта», которая разрабатывает графические движки для всей линейки
продуктов 2ГИС.


Участвовал в разработке:
     Графических движков
     Систем обработки видео
     Биллинговых систем
     Решений в области защиты информации

Работал в компаниях:
     2ГИС
     Fortess
     Softomate
Графический движок для
мобильного приложения 2ГИС
2ГИС только для десктоп?
Требования и ограничения мобильных
             платформ:
 Кроссплатформенный растеризатор
 Отделение логики отображения от остального кода
 Слабые CPU
 Дефицит ОЗУ
 Дефицит ПЗУ
 Разные дисплеи и разрешения
Модуль «3D Карта»




               Carto API




          3D Карта
          3D Карта
Кроссплатформенные игровые движки
Что такое графический движок?
Геймдев: игровой движок
Схема движка id Tech 4 (Doom 3):
Часть 2. Устройство движка
Подсистема «движок рендеринга»
За основу взята шейдерная модель OpenGL 2.0 ES:
Подсистема «движок рендеринга»
   Софтварный рендеринг:




                                     Pixel Shader
                     Vertex Shader




Очередь рендеринга
Арифметика на ARM-процессоре




                tmMath
Сцена: пространственно организованный
             набор данных
Сцена: требования к организации
            данных
 Эффективность отрисовки данных
 Оперативная память
 Дисковая память
 Эффективность управления объектами




            Подготовка сцены к
               рендерингу
Техника рендеринга полупрозрачных
           3D объектов
id Tech: BSP-деревья

Компиляция сцены       Рендеринг
id Tech: BSP-деревья




Проблемы:
1. Сшитие деревьев в real-time
2. Потребление памяти
3. Размер баз
Техника рендеринга полупрозрачных
           3D объектов




Подход:
1. Все 3D объекты разбиваются на
   выпуклые полигоны на этапе
   подготовки данных
2. Определение перекрытий на
   экранной сетке
3. Сортировка в плоской проекции
Верхний уровень: система
           Условных Знаков
Гибкая система управления внешним видом объектов:
    Задает геометрическое преобразование
    Задает цвета, ширину линий, технику рендера.
    Анимирует объект
Верхний уровень: масштаб карты




  Обеспечивает большую информативность на
   больших экранах
  Не перегружает карту деталями на маленьких
   экранах с высоким DPI.
Верхний уровень: масштаб карты




   iPhone

                       iPad
Что еще предоставляет API движка?

  Взаимодействия с
   пользователем
  Гео-поиск
  Управления динамическими
   объектами карты
  Определение пересечений и
   расстояний между объектами
  Конструктивная геометрия
   (CSG)
Как мы решали что должно быть и
 чего не должно быть в движке?
 Данные, которые нужны для выполнения
  задачи.
 Существующий код, который используется
  для реализации функциональности.
 Ответственность команды за код.
Графический движок - это фреймворк
Вопросы?


Дурдин Денис,
2ГИС
denis.durdin@gmail.com

More Related Content

Viewers also liked

Роман Магдаленко (ABBYY Language Services) - “Экономическая эффективность лок...
Роман Магдаленко (ABBYY Language Services) - “Экономическая эффективность лок...Роман Магдаленко (ABBYY Language Services) - “Экономическая эффективность лок...
Роман Магдаленко (ABBYY Language Services) - “Экономическая эффективность лок...DevGAMM Conference
 
Vitaly hit' abc_of_game_development
Vitaly hit' abc_of_game_developmentVitaly hit' abc_of_game_development
Vitaly hit' abc_of_game_developmentDneprCiklumEvents
 
Spil Games: 1 миллиард геймплеев: как это было
Spil Games: 1 миллиард геймплеев: как это былоSpil Games: 1 миллиард геймплеев: как это было
Spil Games: 1 миллиард геймплеев: как это былоDevGAMM Conference
 
Sofia Сhebanova Юзабилити тестирование игр миф или реальность-Wargaming
Sofia Сhebanova Юзабилити тестирование игр  миф или реальность-WargamingSofia Сhebanova Юзабилити тестирование игр  миф или реальность-Wargaming
Sofia Сhebanova Юзабилити тестирование игр миф или реальность-WargamingWG_ Events
 
Glyanenko_ V_ specifika_testirovanija_konsol'nyh_igr
Glyanenko_ V_ specifika_testirovanija_konsol'nyh_igrGlyanenko_ V_ specifika_testirovanija_konsol'nyh_igr
Glyanenko_ V_ specifika_testirovanija_konsol'nyh_igruransoft
 
Он-лайн игры и их коммерциализация
Он-лайн игры и их коммерциализацияОн-лайн игры и их коммерциализация
Он-лайн игры и их коммерциализацияРоман Парников
 
Пользовательское тестирование игр: пошаговая инструкция проведения
Пользовательское тестирование игр: пошаговая инструкция проведенияПользовательское тестирование игр: пошаговая инструкция проведения
Пользовательское тестирование игр: пошаговая инструкция проведенияPlaytestix
 
Оптимизация процесса тестирования локализаций
Оптимизация процесса тестирования локализацийОптимизация процесса тестирования локализаций
Оптимизация процесса тестирования локализацийSQALab
 
Игорь Мартыненко - Тестирование игр на Facebook
Игорь Мартыненко - Тестирование игр на FacebookИгорь Мартыненко - Тестирование игр на Facebook
Игорь Мартыненко - Тестирование игр на FacebookSQALab
 
QA и тестирование игр
QA и тестирование игрQA и тестирование игр
QA и тестирование игрViktoria Odnokoz
 
Тестирование игр: фан или тяжелый труд?
Тестирование игр: фан или тяжелый труд?Тестирование игр: фан или тяжелый труд?
Тестирование игр: фан или тяжелый труд?guest316854
 
Локализация игр
Локализация игрЛокализация игр
Локализация игрViktoria Odnokoz
 
Методология разработки игр с позиции гейм-дизайна
Методология разработки игр с позиции гейм-дизайнаМетодология разработки игр с позиции гейм-дизайна
Методология разработки игр с позиции гейм-дизайнаKonstantin Sakhnov
 
Сергей Парамонов — Что наша жизнь — игра!
Сергей Парамонов — Что наша жизнь — игра!Сергей Парамонов — Что наша жизнь — игра!
Сергей Парамонов — Что наша жизнь — игра!Daria Oreshkina
 
Специфика тестирования консольных игр
Специфика тестирования консольных игрСпецифика тестирования консольных игр
Специфика тестирования консольных игрSQALab
 
Renatus Media, LLC - издатель мобильных и социальных игр
Renatus Media, LLC - издатель мобильных и социальных игрRenatus Media, LLC - издатель мобильных и социальных игр
Renatus Media, LLC - издатель мобильных и социальных игрRenatus Media, LLC
 
Тестирование игровой механики в компьютерных играх
Тестирование игровой механики в компьютерных играхТестирование игровой механики в компьютерных играх
Тестирование игровой механики в компьютерных играхSQALab
 
Продвижение игр, реклама, маркетинг
Продвижение игр, реклама, маркетингПродвижение игр, реклама, маркетинг
Продвижение игр, реклама, маркетингRenatus Media, LLC
 
Тестирование игр на мобильных устройствах/3D телевизорах
Тестирование игр на мобильных устройствах/3D телевизорахТестирование игр на мобильных устройствах/3D телевизорах
Тестирование игр на мобильных устройствах/3D телевизорахSQALab
 
Тестирование игр - мифы
Тестирование игр - мифыТестирование игр - мифы
Тестирование игр - мифыOlga Kiseleva
 

Viewers also liked (20)

Роман Магдаленко (ABBYY Language Services) - “Экономическая эффективность лок...
Роман Магдаленко (ABBYY Language Services) - “Экономическая эффективность лок...Роман Магдаленко (ABBYY Language Services) - “Экономическая эффективность лок...
Роман Магдаленко (ABBYY Language Services) - “Экономическая эффективность лок...
 
Vitaly hit' abc_of_game_development
Vitaly hit' abc_of_game_developmentVitaly hit' abc_of_game_development
Vitaly hit' abc_of_game_development
 
Spil Games: 1 миллиард геймплеев: как это было
Spil Games: 1 миллиард геймплеев: как это былоSpil Games: 1 миллиард геймплеев: как это было
Spil Games: 1 миллиард геймплеев: как это было
 
Sofia Сhebanova Юзабилити тестирование игр миф или реальность-Wargaming
Sofia Сhebanova Юзабилити тестирование игр  миф или реальность-WargamingSofia Сhebanova Юзабилити тестирование игр  миф или реальность-Wargaming
Sofia Сhebanova Юзабилити тестирование игр миф или реальность-Wargaming
 
Glyanenko_ V_ specifika_testirovanija_konsol'nyh_igr
Glyanenko_ V_ specifika_testirovanija_konsol'nyh_igrGlyanenko_ V_ specifika_testirovanija_konsol'nyh_igr
Glyanenko_ V_ specifika_testirovanija_konsol'nyh_igr
 
Он-лайн игры и их коммерциализация
Он-лайн игры и их коммерциализацияОн-лайн игры и их коммерциализация
Он-лайн игры и их коммерциализация
 
Пользовательское тестирование игр: пошаговая инструкция проведения
Пользовательское тестирование игр: пошаговая инструкция проведенияПользовательское тестирование игр: пошаговая инструкция проведения
Пользовательское тестирование игр: пошаговая инструкция проведения
 
Оптимизация процесса тестирования локализаций
Оптимизация процесса тестирования локализацийОптимизация процесса тестирования локализаций
Оптимизация процесса тестирования локализаций
 
Игорь Мартыненко - Тестирование игр на Facebook
Игорь Мартыненко - Тестирование игр на FacebookИгорь Мартыненко - Тестирование игр на Facebook
Игорь Мартыненко - Тестирование игр на Facebook
 
QA и тестирование игр
QA и тестирование игрQA и тестирование игр
QA и тестирование игр
 
Тестирование игр: фан или тяжелый труд?
Тестирование игр: фан или тяжелый труд?Тестирование игр: фан или тяжелый труд?
Тестирование игр: фан или тяжелый труд?
 
Локализация игр
Локализация игрЛокализация игр
Локализация игр
 
Методология разработки игр с позиции гейм-дизайна
Методология разработки игр с позиции гейм-дизайнаМетодология разработки игр с позиции гейм-дизайна
Методология разработки игр с позиции гейм-дизайна
 
Сергей Парамонов — Что наша жизнь — игра!
Сергей Парамонов — Что наша жизнь — игра!Сергей Парамонов — Что наша жизнь — игра!
Сергей Парамонов — Что наша жизнь — игра!
 
Специфика тестирования консольных игр
Специфика тестирования консольных игрСпецифика тестирования консольных игр
Специфика тестирования консольных игр
 
Renatus Media, LLC - издатель мобильных и социальных игр
Renatus Media, LLC - издатель мобильных и социальных игрRenatus Media, LLC - издатель мобильных и социальных игр
Renatus Media, LLC - издатель мобильных и социальных игр
 
Тестирование игровой механики в компьютерных играх
Тестирование игровой механики в компьютерных играхТестирование игровой механики в компьютерных играх
Тестирование игровой механики в компьютерных играх
 
Продвижение игр, реклама, маркетинг
Продвижение игр, реклама, маркетингПродвижение игр, реклама, маркетинг
Продвижение игр, реклама, маркетинг
 
Тестирование игр на мобильных устройствах/3D телевизорах
Тестирование игр на мобильных устройствах/3D телевизорахТестирование игр на мобильных устройствах/3D телевизорах
Тестирование игр на мобильных устройствах/3D телевизорах
 
Тестирование игр - мифы
Тестирование игр - мифыТестирование игр - мифы
Тестирование игр - мифы
 

Similar to CodeFest 2013. Дурдин Д. — Трехмерная графика не для игр

Tanki Online — multiplayer 3D-action in browser
Tanki Online — multiplayer 3D-action in browserTanki Online — multiplayer 3D-action in browser
Tanki Online — multiplayer 3D-action in browserAnton Volkov
 
компьютерная графика для сайта
компьютерная графика для сайтакомпьютерная графика для сайта
компьютерная графика для сайтаisva69
 
NettleBox - Products
NettleBox - ProductsNettleBox - Products
NettleBox - ProductsNettleTech
 
Иструментарий для быстрой разработки игр с 2 d физикой
Иструментарий для быстрой разработки игр с 2 d физикойИструментарий для быстрой разработки игр с 2 d физикой
Иструментарий для быстрой разработки игр с 2 d физикойakimovpro
 
Интеграция дизайна
Интеграция дизайнаИнтеграция дизайна
Интеграция дизайнаEvgeny Belyaev
 
Архитектура современного 3 d движка: Разработка Xenus: Точка кипения
Архитектура современного 3 d движка: Разработка Xenus: Точка кипенияАрхитектура современного 3 d движка: Разработка Xenus: Точка кипения
Архитектура современного 3 d движка: Разработка Xenus: Точка кипенияRoman_Lut
 
CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7
CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7
CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7CodeFest
 
Расчетная работа
Расчетная работаРасчетная работа
Расчетная работаMestniy
 
Gr
GrGr
GrIKTO
 
Character creation pipeline for Age of Magic (3D mobile)
Character creation pipeline for Age of Magic (3D mobile)Character creation pipeline for Age of Magic (3D mobile)
Character creation pipeline for Age of Magic (3D mobile)DevGAMM Conference
 
Инженерная и компьютерная графика. Лекция 1
Инженерная и компьютерная графика. Лекция 1Инженерная и компьютерная графика. Лекция 1
Инженерная и компьютерная графика. Лекция 1LavrRu
 
Базовые понятия 3D графики (Ден Шергин) - DEBUG TiME #3 2016
Базовые понятия 3D графики (Ден Шергин) - DEBUG TiME #3 2016Базовые понятия 3D графики (Ден Шергин) - DEBUG TiME #3 2016
Базовые понятия 3D графики (Ден Шергин) - DEBUG TiME #3 2016Unigine Corp.
 
компьютерная графика (8 класс)
компьютерная графика (8 класс)компьютерная графика (8 класс)
компьютерная графика (8 класс)isva69
 
компьютерная графика (8 класс)
компьютерная графика (8 класс)компьютерная графика (8 класс)
компьютерная графика (8 класс)isva69
 
компьютерная графика (8 класс)
компьютерная графика (8 класс)компьютерная графика (8 класс)
компьютерная графика (8 класс)isva69
 
100 % самоучитель Macromedia Flash MX
100 % самоучитель Macromedia Flash MX100 % самоучитель Macromedia Flash MX
100 % самоучитель Macromedia Flash MXStAlKeRoV
 

Similar to CodeFest 2013. Дурдин Д. — Трехмерная графика не для игр (20)

Tanki Online — multiplayer 3D-action in browser
Tanki Online — multiplayer 3D-action in browserTanki Online — multiplayer 3D-action in browser
Tanki Online — multiplayer 3D-action in browser
 
компьютерная графика для сайта
компьютерная графика для сайтакомпьютерная графика для сайта
компьютерная графика для сайта
 
NettleBox - Products
NettleBox - ProductsNettleBox - Products
NettleBox - Products
 
Иструментарий для быстрой разработки игр с 2 d физикой
Иструментарий для быстрой разработки игр с 2 d физикойИструментарий для быстрой разработки игр с 2 d физикой
Иструментарий для быстрой разработки игр с 2 d физикой
 
Интеграция дизайна
Интеграция дизайнаИнтеграция дизайна
Интеграция дизайна
 
Grafika 9
Grafika 9Grafika 9
Grafika 9
 
Autodesk 3ds max
Autodesk 3ds maxAutodesk 3ds max
Autodesk 3ds max
 
Архитектура современного 3 d движка: Разработка Xenus: Точка кипения
Архитектура современного 3 d движка: Разработка Xenus: Точка кипенияАрхитектура современного 3 d движка: Разработка Xenus: Точка кипения
Архитектура современного 3 d движка: Разработка Xenus: Точка кипения
 
CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7
CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7
CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7
 
Расчетная работа
Расчетная работаРасчетная работа
Расчетная работа
 
Gr
GrGr
Gr
 
Inkscape
InkscapeInkscape
Inkscape
 
Character creation pipeline for Age of Magic (3D mobile)
Character creation pipeline for Age of Magic (3D mobile)Character creation pipeline for Age of Magic (3D mobile)
Character creation pipeline for Age of Magic (3D mobile)
 
Инженерная и компьютерная графика. Лекция 1
Инженерная и компьютерная графика. Лекция 1Инженерная и компьютерная графика. Лекция 1
Инженерная и компьютерная графика. Лекция 1
 
Базовые понятия 3D графики (Ден Шергин) - DEBUG TiME #3 2016
Базовые понятия 3D графики (Ден Шергин) - DEBUG TiME #3 2016Базовые понятия 3D графики (Ден Шергин) - DEBUG TiME #3 2016
Базовые понятия 3D графики (Ден Шергин) - DEBUG TiME #3 2016
 
компьютерная графика (8 класс)
компьютерная графика (8 класс)компьютерная графика (8 класс)
компьютерная графика (8 класс)
 
компьютерная графика (8 класс)
компьютерная графика (8 класс)компьютерная графика (8 класс)
компьютерная графика (8 класс)
 
компьютерная графика (8 класс)
компьютерная графика (8 класс)компьютерная графика (8 класс)
компьютерная графика (8 класс)
 
Grafika 9klass
Grafika 9klassGrafika 9klass
Grafika 9klass
 
100 % самоучитель Macromedia Flash MX
100 % самоучитель Macromedia Flash MX100 % самоучитель Macromedia Flash MX
100 % самоучитель Macromedia Flash MX
 

More from CodeFest

Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander GraebeCodeFest
 
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита ПрокоповCodeFest
 
Денис Баталов
Денис БаталовДенис Баталов
Денис БаталовCodeFest
 
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена ГальцинаCodeFest
 
Александр Калашников
Александр КалашниковАлександр Калашников
Александр КалашниковCodeFest
 
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина ИвановаCodeFest
 
Marko Berković
Marko BerkovićMarko Berković
Marko BerkovićCodeFest
 
Денис Кортунов
Денис КортуновДенис Кортунов
Денис КортуновCodeFest
 
Александр Зимин
Александр ЗиминАлександр Зимин
Александр ЗиминCodeFest
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей КрапивенскийCodeFest
 
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей ИгнатовCodeFest
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай КрапивныйCodeFest
 
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander GraebeCodeFest
 
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим СмирновCodeFest
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин ОсиповCodeFest
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele RialdiCodeFest
 
Максим Пугачев
Максим ПугачевМаксим Пугачев
Максим ПугачевCodeFest
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene GroeschkeCodeFest
 
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван БондаренкоCodeFest
 
Mete Atamel
Mete AtamelMete Atamel
Mete AtamelCodeFest
 

More from CodeFest (20)

Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита Прокопов
 
Денис Баталов
Денис БаталовДенис Баталов
Денис Баталов
 
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена Гальцина
 
Александр Калашников
Александр КалашниковАлександр Калашников
Александр Калашников
 
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина Иванова
 
Marko Berković
Marko BerkovićMarko Berković
Marko Berković
 
Денис Кортунов
Денис КортуновДенис Кортунов
Денис Кортунов
 
Александр Зимин
Александр ЗиминАлександр Зимин
Александр Зимин
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей Крапивенский
 
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей Игнатов
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай Крапивный
 
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим Смирнов
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин Осипов
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
 
Максим Пугачев
Максим ПугачевМаксим Пугачев
Максим Пугачев
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene Groeschke
 
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван Бондаренко
 
Mete Atamel
Mete AtamelMete Atamel
Mete Atamel
 

CodeFest 2013. Дурдин Д. — Трехмерная графика не для игр