Всем привет!
Давненько я не писал ничего нового, но сегодня я постараюсь восполнить этот пробел. Нам предстоит проделать много работы, так что наберитесь терпения и не торопитесь.
Итак, сегодня я опишу реализацию основного цикла приложения, мы набросаем менеджера сцены, конвейеры рендеринга и обновления, а также разберемся в реализации менеджера образцов.
Без лишних слов, приступим!
Давненько я не писал ничего нового, но сегодня я постараюсь восполнить этот пробел. Нам предстоит проделать много работы, так что наберитесь терпения и не торопитесь.
Итак, сегодня я опишу реализацию основного цикла приложения, мы набросаем менеджера сцены, конвейеры рендеринга и обновления, а также разберемся в реализации менеджера образцов.
Без лишних слов, приступим!
Прежде всего, давайте разберемся, чего мы хотим добиться, и что нам для этого понадобится.
Всегда и везде, мы хотим свести наше участие, как программиста, в работе системы к минимуму, предоставив дизайнерам возможность воплощать любые их, даже самые смелые, замыслы, не отвлекая нас от зарубов в Quake. Объекты в нашей программе должны быть максимально самостоятельными, нас не должно волновать ни их количество, ни их тип или детали их функционирования и взаимодействия. Это все конечно в идеале, в жизни все немножко сложнее, но без трудностей было бы просто не интересно.
- Нам потребуется некоторый универсальный объект на все случаи жизни, таким объектом станет класс S_Node.
- Для управления этими универсальными объектами нам понадобится менеджер сцены S_SceneManager.
- Так как менеджер сцены сам по себе не может хранить объекты, то для этой цели мы опишем менеджера образцов S_InstanceManager и расширим класс S_Node, создав класс S_Instance (потомок класса S_Node). Это связано с тем, что менеджер образцов работает только с объектами типа S_Instance.
Программист игровой логики будет создавать новые классы и объекты, наследуя класс S_Instance. Таким образом мы избавим его от необходимости вникать в тонкости функционирования системы в целом, давая возможность сосредоточится на реализации конкретного элемента интерактивного приложения или объекта игры.
Давайте остановимся на универсальном объекте S_Node и посмотрим, что он должен уметь. О расширении этого класса - S_Instance поговорим позже, когда доберемся до менеджера образцов [...]
Комментариев нет:
Отправить комментарий