2013-03-04 33 views
0

我想通過使用鼠標將圖像拖動到一條線上,當圖像靠近線條時,圖像將自動移動到線,就像一些"floor planner"程序------------你創建牆並將門拖到這個牆上,當門靠近牆時,門會自動出現在牆上。OpenGL:如何使用鼠標拖動圖像並將其移動到線條上

OpenGL能做到嗎?

如果可以,誰能告訴我怎麼樣?如果不能,任何人都可以告訴我我該怎麼做?
給我看一個例子。

+0

如果我沒有弄錯,你問的是如何使一個物體跟隨鼠標,並且如果靠近另一個物體(或線)將其捕捉到它,對吧? – orlp 2013-03-04 09:05:05

+0

是的,你是對的。 – user2099155 2013-03-04 09:15:02

+0

你知道嗎?怎麼做? – user2099155 2013-03-04 09:15:20

回答

5

OpenGL是一個渲染API,它的目的是根據應用程序向其提供的描述生成柵格化圖像。

它對用戶輸入一無所知,甚至對應用程序的「域對象」(如門,牆等)也更少。它所處理的是抽象座標和矩陣,這些座標和矩陣描述了將這些3D座標轉換爲二維用於光柵化的轉換和投影,以及表面的陰影處理等等。

所以,你需要實現它,以便你最終傳遞給OpenGL的座標最終成爲你想要的座標。

捕捉通常的測量的距離一些導向物體的組合,並且下面量化輸入的座標以對應於所述引導。

+0

好吧,我知道了!我怎麼能找到一個物體的一面,我的意思是我做了一個正方形,我怎麼才能找到這個正方形的座標? – user2099155 2013-03-04 09:54:44

+0

@ user2099155:通過計算。 OpenGL不會維護場景等。它只是畫東西。你必須自己做選擇數學。 – datenwolf 2013-03-04 12:18:32

+0

好吧。非常感謝你 – user2099155 2013-03-04 14:52:13