我知道在OpenGL中相机不会移动,而是模型在其周围移动。但我需要获取
这就是我尝试的内容:
MODELVIEW
中相机的位置。是的,我也知道有很多关于此主题的讨论,但我尝试了所有他们所做的事情来获取相机坐标,但它总是返回(相机的实际位置)(0,0,0)
。这就是我尝试的内容:
GLfloat mdl[16];
float camera_org[3];
glMatrixMode( GL_MODELVIEW );
glPushMatrix();
glGetFloatv(GL_MODELVIEW_MATRIX, mdl);
camera_org[0] = -(mdl[0] * mdl[12] + mdl[1] * mdl[13] + mdl[2] * mdl[14]);
camera_org[1] = -(mdl[4] * mdl[12] + mdl[5] * mdl[13] + mdl[6] * mdl[14]);
camera_org[2] = -(mdl[8] * mdl[12] + mdl[9] * mdl[13] + mdl[10] * mdl[14]);
also tried this (as said in some topics) :
camera_org[0] = mdl[12];
camera_org[0] = mdl[13];
camera_org[0] = mdl[14];
它们两个都给了我相同的结果(0,0,0)
,请问我做错了什么吗?