[問題] opengl-關於點擊物件(已解
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
GCC
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
GLUT 、glm.h/.c(用來載入obj檔的)
問題(Question):
因為目標是要點擊讀取到的object使之消失或顯示
但因為translatef之後obj並不在(0,0,0)上,所以點obj的時候會產生錯誤
這問題好難敘述...
總之就是
因為translatef之後object不在原點
但selection mode下會以為obj還在原點,
所以要點"預期從原點原點展開obj的範圍"才會使不在(0,0,0)上的obj消失/顯示
而不是點"實際object的位置"讓他產生消失/顯示的動作
點obj的方法是照此網頁上的教學做的
這網頁上是教把obj1在obj2上用滑鼠畫軌跡移動
所以程式內容我有點大更動
但pick_func(float x,float y)幾乎是沒有更動
補充說明(Supplement):
--
不知道有沒有人聽得懂我的說明...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.157.161
推
05/13 16:50, , 1F
05/13 16:50, 1F
就是假如我有一顆球.obj (預設半徑為1好了
然後把他glCallList(ball)後
他會在原點(0,0,0)的位置載入(因為沒有translate
那這個時候假如點距離(0,0,0)小於1的點時(也就是點圓內的點
這顆球就會消失,這樣是正確的
但當我先gltranslatef(1.0,0,0)之後
球會在點(1,0,0)的位置載入
我預期當滑鼠點擊距離(1,0,0)小於1的點時(圓內的點
球會消失
但現實情況卻不是這樣
現實情況還是跟前者一樣
他要點(0,0,0)為圓心的圓內(但實際上這邊我並沒有在(0,0,0)載入圓)
才會使(1,0,0)這顆球消失
不知道這樣說明會不會比較好...
目前的問題就是卡在點擊錯誤
※ 編輯: jay060191 來自: 122.117.157.161 (05/13 16:55)
→
05/13 16:51, , 2F
05/13 16:51, 2F
→
05/13 16:51, , 3F
05/13 16:51, 3F
※ 編輯: jay060191 來自: 122.117.157.161 (05/13 16:57)
推
05/13 17:06, , 4F
05/13 17:06, 4F
→
05/13 17:08, , 5F
05/13 17:08, 5F
→
05/13 17:10, , 6F
05/13 17:10, 6F
→
05/13 17:10, , 7F
05/13 17:10, 7F
謝謝C大
因為我才剛學openGL一段時間..
我會努力改進的
推
05/13 19:09, , 8F
05/13 19:09, 8F
→
05/13 19:38, , 9F
05/13 19:38, 9F
→
05/13 19:42, , 10F
05/13 19:42, 10F
原來我是那邊沒translate...
謝謝N大,L大
我先去試試
※ 編輯: jay060191 來自: 122.117.157.161 (05/13 20:29)
問題解決了,感謝各位幫忙
※ 編輯: jay060191 來自: 122.117.157.161 (05/13 20:37)
推
05/14 04:37, , 11F
05/14 04:37, 11F
※ 編輯: jay060191 來自: 122.117.157.161 (05/15 22:58)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章