-
Делаю разнообразные координатные преобразования в OGL. Есть некоторая точка, которая рисуется уже преобразовання. Мне нужно получить ее координаты, в исходной системе координат. Тоесть скажем делаю так: glRotate(); glTranslate(); glRotate(); glBegin(GL_POINTS); glvertex3f(0,0,0); glEnd();
Какие у точки координаты в исходной системе? Пробовал получать матрицу вида и на нее умножать, не получается: NewPoint:=MultiplyMatrixVector(Transpose(Model_View_matrix),Point);
-
Попробуй ещё потом на GL_PROJECTION домножать они походу повязаны друг на друга.
-
Кстати да... Возникла другая проблема.... Мне надо не в исходной системе координат: Потому что после умножения на текущую матрицу я получаю результат в оконных координатах, а нао в координатах камеры. Тоесть должно быть так: Установить камеру. Получить матрицу 1. Установить систему координат. Получить матрицу 2.
Как из матрицы 2 убрать все преобразования матрицы 1???
-
Наверняка я чёнить не понимаю, но просто в порядке бреда:
glPushMatrix Установить систему координат. Получить матрицу 2 glPopMatrix; Установить камеру. Получить матрицу 1.
-
Да я наверно объясняю криво. Придумал как можно попробовать решить задачу другим способом.
|