Что 3D Engine делает для меня? - PullRequest
1 голос
/ 18 октября 2010

Я заинтересован в разработке приложения для Android, которое будет отображать какой-то глобус, например, Google Планета Земля.

Я никогда не использовал opengl и не имел опыта работы с графическим программированием, поэтому я здесь, чтобы учитьсянекоторые основы.Теперь я знаю, что есть такие вещи, как Unity или Ogre, которые помогают упростить графику, но что именно я получу от использования этих движков, а не только от использования OpenGL API для рендеринга графики?Почему вы используете движки, такие как Ogre, в отличие от прямо-вверх opengl?

Ответы [ 2 ]

3 голосов
/ 18 октября 2010

Создание графического приложения намного больше, чем просто 3D-библиотека.

Библиотеки, такие как OpenGL, отображают аппаратную функциональность вашего графического оборудования (а также эмулируют неподдерживаемую функциональность в программном обеспечении), но этотолько начало.

Прежде всего, вам нужно управлять своими объектами.Вам нужно найти способ конвертировать их из вашего 3D-программного обеспечения (Maya, Max, Blender) в любой формат данных, в котором вы хотите хранить их в своем приложении, и вам нужно каким-то образом хранить их в своем приложении, используя управляющие структуры.

Вы должны преобразовать их, оживить их, скинуть их.Вам нужно управление сценой, чтобы легко отбирать объекты вне усеченного конуса.Вам нужна камера и двигайте ее.

Вам нужно обращаться с источниками света.Вам нужно обрабатывать проходы рендеринга, такие как проход света, проход тени, проход отражения.

Затем вам нужны хорошие шейдеры, некоторые из которых поддерживают такие функции, как диффузные карты, карты нормалей, зеркальные карты, карты окклюзии окружающего освещения, светкарты, поддерживающие точечные источники света, направленные источники света, точечные источники света.

Вам необходимо управлять текстурами, передавать их в потоки и выводить из них и применять их к своим моделям.

Итак ... это некоторыевещей, которые пакет 3D-движков делает для вас.И многое другое.

РЕДАКТИРОВАТЬ: Тем не менее, если все, что вам нужно, это показать глобус, то использование полноценного двигателя - это излишнее количество.Для этого вам понадобится что-то вроде OpenGL, создайте модель шара (= простую сферу), примените к нему текстуру, установите источник света или два и сделайте это.

0 голосов
/ 18 октября 2010

3D-движок поможет вам с рядом вещей:

  • Они обычно поставляются с предопределенными форматами данных, поэтому вам не нужно создавать свои. Иногда они также поставляются с инструментами с красивыми интерфейсами, которые помогают вам создавать 3D-объекты. Или они могут загружать или конвертировать популярные форматы файлов, чтобы вы могли использовать популярные инструменты для создания 3D.
  • Они поставляются с циклами рендеринга и, возможно, циклами событий, поэтому вам не нужно их реализовывать. Это часто проще, чем делать это самостоятельно.
  • Они поставляются с уже написанными алгоритмами для удаления скрытой поверхности.
  • Они поставляются с высокоуровневыми функциями, позволяющими легко делать сложные вещи с объектами, которые они вам предоставляют.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...