OpenGL相機之神睇

OpenGL相機之神睇人睇世界為平視,神睇世界則高處俯視.OpenGL用UVN相機gluLookAt()用於指定相機視線. 神位於10米高,處垂直俯視地表即『視線』設(0.0f,0.0f,0.0f).將『頭頂指向』設(0.0f,0.0f,1.0f) .

void gluLookAt(0.0f, 10.0f, 0.0f,    0.0f, 0.0f, 0.0f,   0.0f,0.0f,1.0f);
void gluLookAt(GLdouble eyeX,GLdouble eyeY,GLdouble eyeZ,

GLdouble centerX,GLdouble centerY,GLdouble centerZ,

GLdouble upX,GLdouble upY,GLdouble upZ);

eyeX, eyeY, eyeZ 神目位置.即相機位置. 世界坐標位置
centerX, centerY, centerZ 『視點』指向位置.即『視線』. 世界坐標位置
upX, upY, upZ 神頭頂指向,設(0.0f,0.1f,0.0f)

用『歐拉』Euler相機模型則方便直接繞X軸轉90度.

glRotatef(90.0f, 1.0f, 0.0f, 0.0f); 傾斜/俯仰繞X軸旋轉的角度
glRotatef(0.0f, 0.0f, 0.0f, 1.0f); 橫搖/側滾繞Z軸旋轉的角度
glRotatef(0.0f, 0.0f, 1.0f, 0.0f); 偏航/航向繞Y軸旋轉的角度
glTranslatef(-x,-y,-z); 移動模型坐標

 

評論