입력에 추적 장치 (회전 만 추적하고 위치가 아님)를 사용하고 있으며 회전 행렬을 OpenGL 응용 프로그램에 보냅니다. 추적기는 축 시스템과 정렬 될 때 단위 행렬을 전송합니다. 즉, 추적기가 Y 축을 향하고 추적기의 위쪽 방향이 Z 축과 마주하는 경우입니다. 그림의 오른쪽에 보이는 바와 같이. 나는 그러나 추적기를 회전하면회전 축 매핑?
내 OpenGL은 프로그램에서 해당 회전은 잘못된 것입니다.
1 0 0 0
0 0 1 0
0 -1 0 0
0 0 0 1
다시 매핑하지만 항상 세 개의 회전 중 하나가 잘못처럼 그것을 시도 상관없이 같다 : 내가 가진 추적기에 의해 제공되는 매트릭스를 곱하려고 것을 해결하려고합니다.
내 트래커 매트릭스를 곱하여 회전 수를 늘릴 수있는 매트릭스가 있습니까?
===== 편집 =====
안드로이드의 remapCoordinateSystem 내가 원하는하지만 난 거기에 코드를 이해할 수없는 무엇을 달성 할 것으로 보인다
오른쪽 또는 왼쪽으로 트래커를 곱합니까? 행렬 곱셈 피연산자를 전환 해보십시오. – datenwolf
'glRotatef (degree, axis) '를 쓰면 잘못된 회전이 생기거나 변환 행렬을 수동으로 계산할 때 잘못되었을 수 있습니다. – Shahbaz
Shahbaz : 추적기의 행렬을 그대로 OpenGL에 전달합니다 (셰이더를 통해). 다이어그램을 보면 장치가 z 축을 중심으로 회전 할 때 매트릭스를 적용 할 OpenGL 개체가 다르게 회전합니다. – Jubei