Re: [問題] OPENGL的gluProject失敗?(已GOOGLE過)

看板C_and_CPP (C/C++)作者 (你想要什麼)時間12年前 (2014/01/27 14:46), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/2 (看更多)
謝謝各位前輩的熱心, 原PO再繼續trace後發現, 問題出在: glGetDoublev(GL_PROJECTION_MATRIX, projection ); glGetDoublev(GL_MODELVIEW_MATRIX, modelview ); 這兩行得到的矩陣都是空矩陣, 才會導致後面的gluProject fail, 所以現在問題變成想請問各位大大, 為何取出會是空矩陣?? 為了這code, 原PO崩潰數日了, 請各位大大幫幫忙, 謝謝 ※ 引述《theone777 (你想要什麼)》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : VS2005, C++ : 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) : OPENGL : 問題(Question): : gluProject為何一直失敗? : 餵入的資料(Input): : 請參考程式碼中input : 預期的正確結果(Expected Output): : 希望至少gluProject可以回傳GLU_TRUE : 錯誤結果(Wrong Output): : 結果都是回傳GLU_FALSE : 程式碼(Code):(請善用置底文網頁, 記得排版) : GLint viewport[4]; : GLdouble modelview[16]; : GLdouble viewVector[3]; : GLdouble projection[16]; : GLdouble winX, winY, winZ;//2D point : GLdouble posX, posY, posZ;//3D point : posX=k; : posY=0.0; : posZ=0.0; : /*網路上有人說在使用gluProject之前, 以下這兩行一定要加上去, : 請問是否一定要加?!沒加會影響gluProject的結果嗎? */ : glMatrixMode(GL_PROJECTION); // Select The Projection Matrix : glLoadIdentity(); // Reset The Projection Matrix : glGetDoublev(GL_PROJECTION_MATRIX, projection ); : glGetDoublev(GL_MODELVIEW_MATRIX, modelview ); : glGetIntegerv( GL_VIEWPORT, viewport ); : int res=gluProject(posX,posY,posZ,modelview,projection,viewport,&winX,&winY,&winZ); : 補充說明(Supplement): : GOOGLE了一整個下午, 也請教了身邊的大神朋友, : 通通都無解, 找不出原因!!! : 懇請各位板友指教, 謝謝各位! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.32.35 theone777:轉錄至看板 Soft_Job 01/27 14:52

02/04 13:08, , 1F
因為你沒設定viewpoint吧
02/04 13:08, 1F
文章代碼(AID): #1IvW3Blb (C_and_CPP)
文章代碼(AID): #1IvW3Blb (C_and_CPP)