我在OpenGL ES試圖注視,如果它是z = 0或z = 1000或-1000,LookAt目標位置並不重要?
gluLookAt(512, 384, 2000,
512, 384, 0,
0.0f, 1.0f, 0.0f);
第二行是目標的位置,所以,我在想,如果我改變從0
的z
到1000
或-1000
,應該不是看到不同?他們都是一樣的,爲什麼呢?
我在OpenGL ES試圖注視,如果它是z = 0或z = 1000或-1000,LookAt目標位置並不重要?
gluLookAt(512, 384, 2000,
512, 384, 0,
0.0f, 1.0f, 0.0f);
第二行是目標的位置,所以,我在想,如果我改變從0
的z
到1000
或-1000
,應該不是看到不同?他們都是一樣的,爲什麼呢?
從OpenGL的規格爲gluLookAt,它規定的投入爲:
gluLookAt(GLdouble eyeX , GLdouble eyeY , GLdouble eyeZ ,
GLdouble centerX , GLdouble centerY , GLdouble centerZ ,
GLdouble upX , GLdouble upY , GLdouble upZ);
您當前值僅移動center
矢量沿z
飛機,所以你實際上是從eye
矢量低頭。根據您渲染的內容,您可能根本看不到任何變化(從頂部或底部看,立方體看起來都是一樣的)。
嘗試更改您的x
和y
值,而不是將攝像頭移至與您嘗試查看的矢量不垂直的位置。
由於攝像機和目標的x和y座標相同,改變z座標並不會影響視圖所在的方向,因此它只是重要的方向。
aha,我以爲事情可能會變得越來越小或越來越大......但它只是一個方向性的事物...... –
唯一會影響到的東西就是你正在看的東西的位置,相機的位置...你已經注意到的東西的位置不會影響外觀的大小 – jcoder