0
이상한 것이 조금 있습니다. 나는 화면에서 회전하는 3d 큐브를 가지고 있지만 glOrthof에서 glFrustumf로보기를 변경해야했습니다. 이제는 큐브가 제 위치에 있고 제 앞에는 없습니다.iPhone OpenGL : 객체에서 뷰를 뒤로 이동
그래서 글 글렌 트랜트 레이트 (또는 스케일)를 사용하여 다시 이동할 수 있다고 생각 했으므로 오브젝트를 이전 위치에서 다시 그리기를 계속하고 비트를 이동하여 회전 시키면 Pete Tong이됩니다. . 이전에 glGetFloatv와 glMultMatrixf를 사용한 적은 한 번도 없었지만 이전 회전을 사용하여 객체 이동을 유지하기 위해 비트를 추가한다고 추측합니다. 그냥 내가로부터 한 걸음 뒤로 물러나 수 있으면 좋겠다 그것을
큐브 코드
GLfloat matrix[16];
glGetFloatv(GL_MODELVIEW_MATRIX, matrix);
glLoadIdentity();
glRotatef(self.angle, self.dy,self.dx,0);
/* reapply other rotations so far */
glMultMatrixf(matrix);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor4f(1.0, 1.0, 1.0, 1.0);
glVertexPointer(3, GL_FLOAT, 0, texturedVertices);
glTexCoordPointer(2, GL_FLOAT, 0, texturedCubeCoord);
glBindTexture(GL_TEXTURE_2D, 1);
glDrawElements(GL_TRIANGLES,6 , GL_UNSIGNED_BYTE, &texturedCube[0]);
glBindTexture(GL_TEXTURE_2D, 2);
glDrawElements(GL_TRIANGLES,6 , GL_UNSIGNED_BYTE, &texturedCube[6]);
glBindTexture(GL_TEXTURE_2D, 1);
glDrawElements(GL_TRIANGLES,6 , GL_UNSIGNED_BYTE, &texturedCube[12]);
glBindTexture(GL_TEXTURE_2D, 2);
glDrawElements(GL_TRIANGLES,6 , GL_UNSIGNED_BYTE, &texturedCube[18]);
glBindTexture(GL_TEXTURE_2D, 1);
glDrawElements(GL_TRIANGLES,6 , GL_UNSIGNED_BYTE, &texturedCube[24]);
glBindTexture(GL_TEXTURE_2D, 2);
glDrawElements(GL_TRIANGLES,6 , GL_UNSIGNED_BYTE, &texturedCube[30]);