Здравствуйте, MaxEd, Вы писали:
ME>Задача: в пространстве имеется объект, его надо уметь поворачивать относительно его геометрического центра, причём оси, относительно которых его надо уметь поворачивать, вращаются вместе с ним.
ME>Результат: объект вращается относительно хрен-знает-чего, но решительно не тех осей, которые я задал. В связи с этим, возникают вопросы:
ME>1) В glRotate вектор, относительно которого происходит вращение, указывается в каких координатах? В частности, нужно ли мне в кажлом последующем вызове glRotate учитывать предыдущие?
ME>2) А может, я в чём-то принципиально не прав? В конце-концов, OpenGL я только начал для себя открывать
ME>Так что, люди добрые, помогите, кто чем может.
Команды типа glTranslate и glRotate смещают начало координат и результаты действия записываются в матрицу преобразований и эти самые преобразования в ней естессно накапливаются.
Мой тебе совет не надо вызывать Rotate несколько раз подряд. Подсчитай сразу на сколько поворачивать и вызывай один раз.