作者hoson (林老師賣的冰淇淋)
看板C_and_CPP
標題[問題] OpenGL glFrustum() 設定的問題
時間Thu May 13 12:56:54 2010
各位先進大家好 想請問openGL glFrustum 設定的問題
1.
glMatrixMode (GL_PROJECTION);
glFrustum(-320.0 , 320.0 , -240.0 , 240.0 , 659 , 1000);
glMatrixMode (GL_MODELVIEW);
glLoadIdentity()
glTranslatef (0, 0, -670);
glColor3f (1.0, 0.5, 0.1);
glutSolidTeapot (50);
這時候茶壺畫出來很正常 也在螢幕的正中間
2. 但是
glMatrixMode (GL_PROJECTION);
glFrustum(0.0 , 640.0 , 0.0 , 480.0 , 659 , 1000); //這裡跟改座標
glMatrixMode (GL_MODELVIEW);
glLoadIdentity()
glTranslatef (320, 240, -670); //想要在螢幕中心顯示
glColor3f (1.0, 0.5, 0.1);
glutSolidTeapot (50);
雖然的確在螢幕正中心畫出茶壺 可是茶壺卻有點變型
有點像是 視角改變所產生的perspective的變形
想請問在 glFrustum(0.0 , 640.0 , 0.0 , 480.0 , 659 , 1000);的設定下
要怎麼去決定 3D物體的座標 才能正確顯示3D圖
謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.151.68
※ 編輯: hoson 來自: 140.113.151.68 (05/13 13:01)
推 QQ29:正中間 跟你的lookat有關 你這只是設定view frustum耶 05/13 13:02
→ QQ29:喔喔 漏看你有作translate.... 05/13 13:08