[問題] OpenGL glFrustum() 設定的問題
各位先進大家好 想請問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)
推
05/13 13:02, , 1F
05/13 13:02, 1F
→
05/13 13:08, , 2F
05/13 13:08, 2F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章