Ogre3D Basic Tutorials / Базовые туториалы Ogre3D: Basic Tutorial 6: The Ogre Startup Sequence

← →
Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

Метод Root::createRenderWindow может быть использован для создания RenderWindow из окна вы которое уже создали.

cin 01.07.11 в 05:52

0

Больше информации по этой функции вы можете найти в API документации.

proVIDec 29.06.11 в 08:31

0

ИНИЦИАЛИЗАЦИЯ РЕСУРСОВ

proVIDec 29.06.11 в 08:29

0

Теперь, когда у нас есть наш объект Корень (Root) и наши объекты RenderSystem и RenderWindow, созданные и готовые, мы очень близко к тому, чтобы быть готовыми создать нашу сцену.

ghostintheshell 11.07.11 в 08:28

0

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

proVIDec 03.07.11 в 03:27

0

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

ghostintheshell 11.07.11 в 08:33

-1

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

ghostintheshell 11.07.11 в 08:36

-1

Чтобы задержать рост требований к памяти, мы можем загрузить только ресурсы, которые использует наше приложение.

ghostintheshell 11.07.11 в 08:40

-1

Мы делаем это, разделяя ресурсы на секции и только инициализируя их, поскольку мы идём.

ghostintheshell 11.07.11 в 08:42

-1

Мы не будем охватывать это в этой обучающей программе, как бы то ни было. Смотри Resources (Ресурсы) и ResourceManagers (мененджер ресусов) для полной обучающей программы, посвященной ресурсам.

ghostintheshell 11.07.11 в 08:46

0

Прежде, чем мы будем инициализировать ресурсы, мы должны также определить номер по умолчанию mipmaps который используют текстуры.

ghostintheshell 11.07.11 в 08:52

-1

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

ghostintheshell 11.07.11 в 08:56

-1

Добавьте следующий код в BasicTutorial6::go:

proVIDec 30.06.11 в 05:31

0

Теперь мы инициализировали все группы ресурсов для приложения и готовы использовать его.

proVIDec 30.06.11 в 05:32

0

СОЗДАНИЕ СЦЕНЫ

proVIDec 28.06.11 в 10:20

0

Далее нам нужно создать сцену.

proVIDec 30.06.11 в 05:26

0

Вы должны знать, что есть три вещи, которые должны быть сделаны прежде, чем Вы начнете добавлять вещи к сцене:
1.создание SceneManager(менеджера сцены).
2.создание Камеры.
3.создание Viewport(окно просмотра).

ghostintheshell 11.07.11 в 08:59

0

Перед продолжением давайте добавим, что еще многие включают в вершину нашего файла BasicTutorial6.cpp:

ghostintheshell 11.07.11 в 09:01

-1
+1

СОЗДАНИЕ SCENEMANSGER(менеджер сцен)

ghostintheshell 11.07.11 в 09:02

0

Во-первых, добавьте нового частного участника данных к классу BasicTutorial6:

ghostintheshell 11.07.11 в 09:03

-1

И затем добавьте следующий код к BasicTutorial6::go:

ghostintheshell 11.07.11 в 09:04

0

СОЗДАНИЕ КАМЕРЫ

proVIDec 30.06.11 в 05:33

0

Во-первых, добавьте нового частного участника данных к классу BasicTutorial6:

ghostintheshell 11.07.11 в 09:05

0

А затем добавьте вот этот код в BasicTutorial6::go:

proVIDec 30.06.11 в 05:34

0

ДОБАВЛЕНИЕ VIEWPORT(окно просмотра)

ghostintheshell 11.07.11 в 09:06

0

СОЗДАНИЕ СЦЕН

proVIDec 30.06.11 в 05:33

0

Вы можете создать так много SceneManagers, как Вам нравится и так много Камер сколько вы хотите, но Вы должны быть осторожными, что, когда Вы фактически хотите рендерить что-то на экране, используя Камеру, Вы должны добавить Viewport для него.

ghostintheshell 11.07.11 в 09:08

0

Давайте добавим что-то к нашей сцене, теперь, когда мы позаботились об основах.

ghostintheshell 11.07.11 в 09:09

-1

Найдите функцию BasicTutorial6::go и добавьте в нее код:

proVIDec 30.06.11 в 05:34

0

Мы должны включить OgreEntity в код, чтобы компилировать безошибочнр, так что добавьте эту строку к верху 'BasicTutorial6.cpp':

ghostintheshell 11.07.11 в 09:12

0

ЦИКЛ РЕНДЕРИНГА - БРАТЬ ОДИН

ghostintheshell 11.07.11 в 09:17

-1

Чтобы восхищаться нашей работой до сих пор, мы должны сделать рендеринг нашей сцены.

ghostintheshell 11.07.11 в 09:20

-1

Ogre::Root особенность несколько методов, чтобы начать рендерить цикл, самым простым из которых является Ogre::Root::renderOneFrame().

ghostintheshell 11.07.11 в 09:25

-1

Это в основном циклы до функции в ложных возвращениях цикла.

ghostintheshell 11.07.11 в 09:27

-1

Вот то, как это выглядит:

ghostintheshell 11.07.11 в 09:28

-1

Мы не будем проникать в неприукрашенные детали той функции, только указывать на функцию renderOneFrame.

ghostintheshell 11.07.11 в 09:30

-1

Мы кратко посмотрели на эту функцию в Основной Обучающей программе 4, но давайте рассмотрим это снова:

ghostintheshell 11.07.11 в 09:31

0

Помимо обновления всех объектов рендеринга, она вызывает функции событий фрейма, и если любая из них вернет ложное значение, это вызовет выход из цикла.

wuffur 11.07.11 в 09:39

0

Поскольку мы до сих пор не использовали экземпляров FrameListener, нам нужен альтернативный цикл рендеринга.

wuffur 11.07.11 в 09:40

1

Так как мы еще не используем FrameListeners, мы нуждаемся в альтернативе цикла рендеринга.

ghostintheshell 11.07.11 в 09:42

-1
+1

Добавьте эту линию в список подключаемых заголовочных файлов вверх нашего файла BasicTutorial6.cpp:

wuffur 11.07.11 в 09:43

1

Добавьте эту строку к списку включений (includes)наверху нашего файла BasicTutorial6.cpp:

ghostintheshell 11.07.11 в 09:45

-1
+3

Поместите это в BasicTutorial6::go функцию:

ghostintheshell 11.07.11 в 09:46

0

Это будет циклично многократно, пока окно не закрывается, или renderOneFrame функция вернёт ложные значения.

ghostintheshell 11.07.11 в 09:49

-1

Цикл будет проходить снова и снова, до тех пор пока ни закроется окно, и функция renderOneFrame вернет ложное значение

wuffur 11.07.11 в 09:51

1
+1

Скомпилируйте и запустите приложение.

proVIDec 30.06.11 в 05:34

0

Вы должны видеть окно и голову огра в нем.

proVIDec 30.06.11 в 05:35

0

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

ghostintheshell 11.07.11 в 09:54

0

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

wuffur 11.07.11 в 09:54

0

OIS

proVIDec 30.06.11 в 05:34

0

Хотя это и не единственный вариант для ввода в OGRE, OIS - один из лучших.

wuffur 11.07.11 в 09:56

1

Хотя это не единственная вариант для входа в Ogre, OIS - один из лучших.

ghostintheshell 11.07.11 в 09:56

-1
+2

Мы кратко рассмотрим как к OIS запускается в Вашем приложении.

ghostintheshell 11.07.11 в 09:57

0

Для фактического использования библиотеки Вы должны проверить различные обучающие программы здесь (которые используют ее экстенсивно), и документацию OIS непосредственно.

ghostintheshell 11.07.11 в 10:00

0

Для реального использования этой библиотеки, вам следует проверить различные руководства здесь(которые ее широко использует) и саму документацию по OIS.

wuffur 11.07.11 в 10:02

0
+1

Поместите следующие включения в BasicTutorial6.h:

ghostintheshell 11.07.11 в 10:01

0

Расположите следующие директивы подключения заголовочных файлов в файл BasicTutorial6.h:

wuffur 11.07.11 в 10:04

0
Минутку...

← Предыдущая страница

Следующая страница →