그래서 같은 정도의 수평 및 수직 각도를 반환 장치의 후면에 직면 카메라의 FOV 각도를 유도 할 수있는 프로그램이있다 I 매개 변수 변환을 적용하여 OpenGL의 Matrix.frustrumM()에 전달할 올바른 "left, right, bottom, top"매개 변수를 얻으시겠습니까? 변환 FOV 각도는
Matrix.frustumM(mProjectionMatrix, 0, left, right, bottom, top, near, far);
은 내가 CameraView에 OpenGL을 모양을 중첩하고 상관없이 카메라의 FOV의 모든 장치, 카메라 피드 현실 세계의 객체에 대하여 올바르게 그려 있는지 확인하려면거야.
감사합니다.
편집 : 여기에 솔루션입니다, 경우에 사람이 건너 온다 :
private float[] perspectiveM(float fovY, float fovX, float zNear, float zFar)
{
float[] projMatrix = new float[16];
float aspect = fovX/fovY;
fovY = (float) ((fovY /180.0) * Math.PI); // degrees to radians
float g = (float) (1/Math.tan(fovY/2));
for(int i=0; i<16; i++) {
switch (i) {
case 0:
projMatrix[i] = g/aspect;
break;
case 5:
projMatrix[i] = g;
break;
case 10:
projMatrix[i] = (zFar + zNear)/(zNear - zFar);
break;
case 11:
projMatrix[i] = -1.0f;
break;
case 14:
projMatrix[i] = (2 * zFar * zNear)/(zNear - zFar);
break;
default:
projMatrix[i] = 0.0f;
}
}
return projMatrix;
}
이 그런 다음 투영 행렬에 반환 결과를 할당합니다.
겠습니까 Matrix.perspectiveM() 당신이 원하는 게 무엇인지? – Tim
예, API 레벨 14에서만 구현되었으며 목표는 10입니다. – Joey
사전 예상의 개념을 이해하려면이 웹 사이트를 확인하십시오. http://www.mathdisk.com/pub/safi/worksheets/Perspective_Projection –