Показать сообщение отдельно
Старый 17.03.2015, 20:55   #2
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: Вопрос по архитектуре

Самое простое это сделать иерархию и методы render() и update() этих объектов.
class object {
public:
    object* mpParent;
    std::vector< object* > mDescendants;

    void mUpdate_r( void ) {
        // TODO Update itself.

        for ( auto x : mDescendants ) {
            x.mUpdate_r();
        }
    }

    void mRender_r( void ) {
        // TODO Render itself.

        for ( auto x : mDescendants ) {
            x.mRender_r();
        }
    }
};
Таким образом можно выполнять все действия через корневой объект сцены.
sceneRoot.mUpdate_r();
sceneRoot.mRender_r();
Однако такой код -- далеко не самое эффективное решение с точки зрения производительности и гибкости и в более-менее серьезном проекте делают по другому.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Nikich (17.03.2015)