2011-05-18 53 views
0

作爲我寫作的遊戲的一部分,我有一個紋理地平面,目前作爲四邊形實現。向GL空間內的對象添加鼠標偵聽器

我需要能夠聽取鼠標點擊並將它們的座標指向地平面。

我可以很容易地實現一個偵聽器,它返回視圖空間內的座標。然而,視點是可移動的,因此視域中的像素並不總是與地平面上的相同座標相對應。

是否可以實現鼠標監聽器的四方?

否則,是否有另一種平面實現可以讓我紋理平面並監聽鼠標事件。

任何建議非常感謝!

回答

0

我想讀你的問題的第一件事是(Picking)。但是,由於您只有一個四邊形,因此您無法確定四邊形內的位置。

另一種解決方案是解決OpenGL範圍之外的這個問題,並計算光線和四邊形的交點。爲了確定從視角到場景的光線,您仍然需要OpenGL上下文。

0

OpenGL只是繪製東西到屏幕上。特別是繪製點,線,三角形,四邊形和凸平面多邊形。一旦像素被設置好,OpenGL就沒有關於它繪製的東西的持久性。

你在想什麼的術語叫做場景圖,但OpenGL不是這樣。

但是,您當然可以實現一個使用OpenGL繪製內容的場景圖,並且此場景圖可以實現事件管理並將事件監聽器與其繪製的內容相關聯。