slide1
Download
Skip this Video
Download Presentation
Технологии создания многоплатформенного игрового движка

Loading in 2 Seconds...

play fullscreen
1 / 21

Технологии создания многоплатформенного игрового движка - PowerPoint PPT Presentation


  • 136 Views
  • Uploaded on

Технологии создания многоплатформенного игрового движка. Максим Строев. Темы обсуждения. Классификация платформ Обзор средств разработки Обзор аппаратных особенностей Особенности представления графических и звуковых данных. Темы обсуждения. Поддержка компиляторами стандарта С++

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Технологии создания многоплатформенного игрового движка' - faye


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Технологии создания многоплатформенного игрового движка

Максим Строев

slide2
Темы обсуждения
  • Классификация платформ
  • Обзор средств разработки
  • Обзор аппаратных особенностей
  • Особенности представления графических и звуковых данных

КРИ 2004

slide3
Темы обсуждения
  • Поддержка компиляторами стандарта С++
  • Правила кодирования
  • Статический и динамический полиморфизм
  • Применение механизма свойств (traits) при создании многоплатформенных библиотек

КРИ 2004

slide4
Классификация платформ

Игровые платформы

  • PC, Playstation, Xbox, GameCube и т.д.
  • Наличие мощных аппаратных графических и звуковых подсистем
  • Наличие специализированного API для создания игр

КРИ 2004

slide5
Классификация платформ

Универсальные платформы

  • PDA (PocketPC, Palm)
  • Отсутствие API для создание игр
  • Сложность реализации высококачественного вывода графики и звука

КРИ 2004

slide6
Обзор средств разработки

GCC/EGCS

  • Стандартизированность использования
  • Богатый вспомогательный инструментарий
  • Хорошая поддержка С/С++ (исключение: EGCS)
  • Бесплатность и открытость развития
  • Плохое тестирование и слабые оптимизационные возможности для «непопулярных» платформ

КРИ 2004

slide7
Обзор средств разработки

RedHat GNUPro Developer Tools

  • Стабильность разработки и тестирования
  • Стандартизованность использования
  • Богатый вспомогательный инструментарий
  • Поддержка большого количества embedded систем
  • Высокая стоимость тех. поддержки RedHat и обновлений

КРИ 2004

slide8
Обзор средств разработки

Metrowerks CodeWarrior Development Studio

  • Хорошая поддержка С/С++
  • Специфическая среда разработки
  • Коммерческий

КРИ 2004

slide9
Обзор средств разработки

Microsoft eMbedded Visual C++

  • Плохая поддержка языка С++
  • Специфическая среда разработки (но: поддержка makefile)

КРИ 2004

slide10
Обзор аппаратных особенностей

Что следует учитывать при разработке?

  • Endianess (big-endian, little-endian)
    • Запись бинарных данных в одном endian, чтение на платформе с другим

КРИ 2004

slide11
Обзор аппаратных особенностей

Что следует учитывать при разработке?

  • Endianess (big-endian, little-endian)
    • Запись бинарных данных в одном endian, чтение на платформе с другим
  • Разрядность фундаментальных типов данных С++

КРИ 2004

slide12
Обзор аппаратных особенностей

Что следует учитывать при разработке?

  • Endianess (big-endian, little-endian)
    • Запись бинарных данных в одном endian, чтение на платформе с другим
  • Разрядность фундаментальных типов данных С++
  • Выравнивание (alignment)
    • Требования и рекомендации
    • Natural alignment requirements

КРИ 2004

slide13
Особенности представления графических и звуковых данных

Представление:

  • внутренние
  • внешнее

Внутренние представление:

  • «рефлексивное» представление
  • внешнее описание прозрачности

КРИ 2004

slide14
Статический и динамический полиморфизм

Динамический полиморфизм

  • Механизмы наследования и виртуальных функций
  • Тип выражения определяется во время исполнения

КРИ 2004

slide15
Статический и динамический полиморфизм

Статический полиморфизм

  • Параметризация одного типа другим
  • Реализуется на этапе компиляции
  • Специализация шаблонов

Почему важен?

На этапе компиляции известны типы реализаций для целевой платформы.

КРИ 2004

traits
Механизм свойств (traits)

Свойства (traits) являются множеством связанных типов и функций для применения данных типов.

Как это работает?

КРИ 2004

traits1
Механизм свойств (traits)

Использование типов-тэгов для определения платформы.

КРИ 2004

traits2
Механизм свойств (traits)

Реализация класса Mutex для нескольких платформ c применением динамического полиморфизма.

КРИ 2004

traits3
Механизм свойств (traits)

Недостатки:

  • Необходимость «фабрики реализаций»
  • Потеря оптимизации из-за наличия виртуальных вызовов
  • Ограничение предоставляемых возможностей объявленным интерфейсом
  • Отсутствие необходимости в динамическом полиморфизме

Реализация класса Mutex для нескольких платформ c применением динамического полиморфизма.

КРИ 2004

traits4
Механизм свойств (traits)

Реализация класса Mutex для нескольких платформ c применением статического полиморфизма.

КРИ 2004

traits5
Реализация класса Mutex для нескольких платформ c применением статического полиморфизма.Механизм свойств (traits)

КРИ 2004

ad