2014-04-30 3 views
1

Z 축을 따라 전 세계로 이동하려는 카메라가 내 3D 프로젝트 내에 있습니다. 카메라는 (0.0, 1.0, 0.0)의 대상으로 (0.0, 50.0, -75.0)에 배치됩니다. 나는 카메라가 첫 번째 위치에서 반대 위치 (0.0, 50.0, 75.0)로 이동하려고하고있다.카메라가 움직이지는 않지만 좌표가 업데이트 중임

내 생성자 내에서 카메라 위치, 타겟 및 업 벡터를 초기화했습니다.

_viewMatrix = glm::lookAt(_camPos, _target, _up); // glm::mat4 _viewMatrix 

그리고 내의 OnRender 함수 내 : 내 내하는 OnInit 함수 내

_camPos = glm::vec3(0.0f, 50.0f, -75.0f); 
_target = glm::vec3(0.0f, 1.0f, 0.0f); 
_up  = glm::vec3(0.0f, 1.0f, 0.0f); 

_camPos.z += 0.05f; 

카메라의 위치를 ​​업데이트하지만, 시각적으로, 카메라는 같은 장소에 유지됩니다. 장면 내에서 OnRender에서 업데이트되는 움직이는 개체가 있지만 카메라 자체가 이동하지 않습니다.

답변

1

_camPos.z을 프레임 당 렌더링 기능으로 업데이트하면 문제가 해결되지 않습니다. 뷰 행렬도 업데이트해야합니다. _viewMatrix = glm::lookAt(_camPos, _target, _up);을 렌더링 기능으로 이동하면 일부 결과가 표시 될 수 있습니다.

관련 문제