-
Пишу простенький 3D радактор. 1. Возникла потребность группировать объекты. Для этого сделал объект TGroup у которого есть такие свойства как позиция, угол, и размер. При рисовании сначала задается позиция , угол и размер (glTranslatef , glRotatef, glScalef ) группы, а потом в цикле рисуется каждый объект этой группы со своими параметрами. При перемещении или изменении группы, свойства отдельного объекта в группе остаются неизменными.
Так вот задача в разгруппировании. Объекты оказываются в той позиции в которой были до объединения. Как расчитать позицию, угол и размер отдельного объекта, чтобы каждый из них был в той позиции в которой они были в группе?
2.Перемещение объекта мышкой. Я сделал очень просто: двигаем мышкой наверх или вниз изменяется Z-позиция объекта; влево или вправо изменяется X. Но это не удобно если углол "мира" изменен, получатется двигаешь мышкой влево, а объект "ползет" вверх. Можно ли как-то узнать координаты в пространстве имея координаты курсора(мыши)?
-
3. Каждый "выделенный" объект у меня маркируется (как 3DMax). Проблема возникает при группирование объектов. Как расчитать общие размеры группы, учитывая, что каждый объект может быть повернут вокруг собственной оси?
-
слишком много вопросов... начинающий?
-
ДА
-
Ну хотябы 2-й вопрос? Не ужели никто не сталкивался с такой промблемой?
-
Ты ошибся дверью, задай вопрос в соседней ветке - "Игры". Там есть один мастер по OpenGL.
|