Ogre3D Basic Tutorials / Базовые туториалы Ogre3D: Basic Tutorial 1: An introduction to the most basic Ogre constructs: SceneManager, SceneNode, and Entity objects.
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Как только вы сделаете это, удалите все содержимое функции createScene и давайте поэкспериментируем со следующими фрагментами кода. alexx_x 08.07.11 в 04:57 |
|
|
МАСШТАБИРОВАНИЕ (SCALE) alexx_x 08.07.11 в 04:58 |
||
|
Чтобы масштабировать модели, воспользуемся методом SceneNode->scale. alexx_x 08.07.11 в 04:59 |
||
|
Пропробуйте изменять значения которые мы передаем в функцию scale, и увидеть как изменяется содержимое сцены. alexx_x 08.07.11 в 05:00 |
||
|
ВРАЩЕНИЕ proVIDec 03.07.11 в 03:29 |
||
|
Вы можете вращать объект используя функции yaw, pitch, и roll передавая им в качестве параметров угол вращения в градусах или радианах. В огре это объекты Degree и Radian соответственно. alexx_x 08.07.11 в 05:03 |
||
|
pitch это вращение вокруг оси X, yaw вращает объект вокруг оси Y а roll - вокруг оси Z. alexx_x 08.07.11 в 05:05 |
||
|
Используйте правую руку для удобства: поместите ваш палец в направлении оси, сожмите оставшиеся пальцы. proVIDec 08.07.11 в 09:53 |
+2 | |
|
Направление согнутой части руки - положительное вращение вокруг оси. proVIDec 08.07.11 в 09:56 |
||
|
Попробуем изменить значение объекта Degree которое мы передаем и объединим несколько трансформаций. alexx_x 08.07.11 в 05:13 |
||
|
В Microsoft Visual Studio 2010 может возникнуть ошибка "'Degree' is an undeclared identifier." alexx_x 08.07.11 в 05:14 |
||
|
Это может быть исправлено с помощью вызова функции Ogre::Degree. alexx_x 08.07.11 в 05:15 Это может быть исправлено с помощью вызова функции Ogre::Degree, позволяя при компилировать использовать вращение. wuffur 11.07.11 в 07:05 |
+1 | |
|
СРЕДА РАЗРАБОТКИ OGRE alexx_x 08.07.11 в 05:15 |
||
|
Большинство файлов (.dll и .cfg) на которые мы ссылаемся в этом туториале можно найти в каталоге OgreSDK/bin как release так и debug версию. alexx_x 08.07.11 в 05:17 |
||
|
Ваши программы в режиме Debug должны использовать файлы из каталога debug OgreSDK, в режиме Release - файлы из каталоге release соответственно. alexx_x 08.07.11 в 05:18 |
||
|
В этой части туториала рассматривается в основном платформа windows. alexx_x 08.07.11 в 05:21 |
||
|
Для Linux эта же информация применима по большей части, но к примеру библиотеки будут иметь расширение .so и могут находится в других каталогах. Также некоторые вещи могут немного отличатся. alexx_x 08.07.11 в 05:23 |
||
|
Со всеми возникающими вопросами идем на форум. alexx_x 08.07.11 в 05:23 |
||
|
Библиотеки и плагины alexx_x 08.07.11 в 05:23 |
||
|
Получив представление об окружении Ogre, стоит объяснить как библиотеки Ogre работают в целом. alexx_x 08.07.11 в 05:26 |
||
|
Ogre разделен на 3 большие группы библиотек: Основная библиотека, плагины и либы от сторонних производителей. alexx_x 08.07.11 в 05:27 |
||
|
ОСНОВНАЯ БИБЛИОТЕКА alexx_x 08.07.11 в 05:27 |
||
|
Основная группа библиотек состоит из самой библиотеки и библиотек которые она использует. alexx_x 08.07.11 в 05:28 |
||
|
Основная библиотека Ogre - OgreMain.dll alexx_x 08.07.11 в 05:29 |
||
|
Эта dll требует некоторые другие библиотеки, такие как cg.dll. alexx_x 08.07.11 в 05:29 |
||
|
Эти библиотеки использует каждое приложение Ogre без исключений. alexx_x 08.07.11 в 05:30 |
||
|
ПЛАГИНЫ alexx_x 08.07.11 в 05:30 |
||
|
Вторая группа библиотек это плагины. alexx_x 08.07.11 в 05:31 |
||
|
Довольно большая часть функциональности Ogre вынесена в подключаемые библиотеки и может быть включена или выключена в зависимости от потребности. alexx_x 08.07.11 в 06:28 |
||
|
Базовые плагины которые поставляются вместе с Ogre имеют в названии файла префикс "Plugin_". alexx_x 08.07.11 в 06:28 |
||
|
Также вы можете создавать собственные плагины если у вас есть в этом необходимость, но в этом туториале этой темы мы не коснемся. alexx_x 08.07.11 в 06:29 |
||
|
Для системы рендеринга (OpenGL, DirectX) Ogre также использует плагины. alexx_x 08.07.11 в 06:30 |
||
|
Эти плагины имеют префикс "RenderSystem_". alexx_x 08.07.11 в 06:31 |
||
|
Эти плагины существуют так, что вы можете добавлять или удалять системы рендеринга из вашего приложения. alexx_x 08.07.11 в 07:45 Эти плагины существуют для того, чтобы вы могли добавлять или удалять системы редеринга из вашего приложения. wuffur 11.07.11 в 07:07 |
+1 | |
|
Особенно полезно это если вы пишете шейдеры или что нибудь зависимое от (для примера) OpenGL и вам необходимо запретить возможность запускать приложение под DirectX. В таком случае можно просто удалить соответствующий плагин RenderSystem. alexx_x 08.07.11 в 08:18 |
||
|
В дополнение, если вашей целью является разработка под нестандартную платформу, вы можете написать собственный плагин для RenderSystem, но в нашем туториале мы этого не коснемся. alexx_x 08.07.11 в 08:19 |
||
|
В следующей секции будет рассказано как удалить плагины. alexx_x 08.07.11 в 08:20 |
||
|
БИБЛИОТЕКИ ОТ ТРЕТЬИХ ЛИЦ alexx_x 08.07.11 в 08:39 |
||
|
Третья группа библиотек это библиотеки от сторонних производителей. alexx_x 08.07.11 в 08:40 |
||
|
Ogre сам по себе является просто библиотекой для рендеринга. alexx_x 08.07.11 в 08:40 |
||
|
Он не занимается отрисовкой пользовательского интерфейса, обработкой сообщений от мыши и клавиатуры, обработкой физики и всем таким. alexx_x 08.07.11 в 08:42 |
||
|
Для всего этого вам необходимо использовать другие библиотеки. alexx_x 08.07.11 в 08:43 |
||
|
Демонстрационные приложения Ogre и SDK включают в себя некоторые такие библиотеки. alexx_x 08.07.11 в 08:44 |
||
|
Обработку сообщений клавиатуры и мыши берет на себя OIS (система ввода). Эта библиотека содержится в файле OIS.dll. alexx_x 08.07.11 в 08:44 |
||
|
Cg (C for Graphics) используемая CgProgramManager находится в Cg.dll. alexx_x 08.07.11 в 08:45 |
||
|
Также существуют другие библиотеки (не включенные в SDK) которые расширяют функциональность Ogre (такие как звук и обработка физики) по которым вы можете найти информацию на вики и форумах. alexx_x 08.07.11 в 08:47 |
||
|
ПОДВЕДЕМ ИТОГИ alexx_x 08.07.11 в 08:47 |
||
|
Моралью этой истории является то, что при тестировании приложения локально, не стоит удалять ничего, чтобы проверить как ваше приложение работает со всем этим. alexx_x 08.07.11 в 08:49 |
||
|
Когда вы будете готовы распространять свои приложения, вам необходимо собрать его в Release режиме и включить в дистрибутив Release библиотеки которые использует ваша программа. alexx_x 08.07.11 в 08:52 |
||
|
Если ваше приложение не использует Cg ProgramManager но использует OIS, тогда нет нужды включать в дистрибутив библиотеки от Cg и CgProgramManager, но о библиотеке OIS необходимо позаботится. alexx_x 08.07.11 в 08:54 |
