Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Каркас для трансформаций


Автор: FIaR 29.3.2009, 19:09
Помогите с созданием класса для трансформации объектов, совсем запутался в поисках идеальности...

Код

class AnyObject {
    public:
        AnyObject() {
            _needupdate = false;
            _parent = NULL;
            _world.identity();
        }

        void setPosition(const vec3 &v) {???}
        void setPositionWorld(const vec3 &v) {???}
        void setRotation(const vec3 &v) {???}
        void setRotationWorld(const vec3 &v) {???}
        void move(const vec3 &v) {???}
        void moveWorld(const vec3 &v) {???}
        void turn(const vec3 &v) {???}
        void turnWorld(const vec3 &v) {???}

        void update() {???}

        mat4 getWorldMatrix() {return _world;}

    private:
//      mat4 vec3 ...и тд тп 
        mat4 _world;
        bool _needupdate;
        AnyObject *_parent;
        std::list<AnyObject*> _listChilds;
};


Вот примерно такая структура (тестовая, что бы разобраться). Ориентируюсь на трансформации из Blitz3D, хочется нечто подобное. Были когда то и примеры и исходники на руках, но давно. Изобретать своё новое не очень хочется.

Добавлено через 8 минут и 36 секунд
getWorldMatrix() вызывается непосредственно перед отрисовкой объекта

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)