簡體   English   中英

向GL空間內的對象添加鼠標偵聽器

[英]Adding a mouse listener to an object within a GL space

作為我正在編寫的游戲的一部分,我有一個紋理化的地平面,目前已實現為四邊形。

我需要能夠聽到鼠標的點擊並將其坐標指向地面。

我可以輕松實現一個偵聽器,該偵聽器返回視圖空間內的坐標。 但是,視點是可移動的,因此視圖空間中的像素並不總是對應於地平面上的相同坐標。

是否可以為Quad實現鼠標偵聽器?

否則,是否有替代的平面實現,使我可以構造平面紋理並偵聽鼠標事件。

任何建議,不勝感激!

我想到閱讀您的問題的第一件事是( Picking )。 但是由於您只有一個四邊形,所以您將無法確定該四邊形內的位置。

另一個解決方案是在OpenGL范圍之外解決此問題,並計算射線與四邊形的交點。 為了確定從視點到場景的光線,您仍然需要OpenGL上下文。

OpenGL只是將內容繪制到屏幕上。 特別是它繪制點,線,三角形,四邊形和凸平面多邊形。 設置像素后,OpenGL就不再保留其繪制的內容。

您所考慮的術語稱為場景圖 ,但OpenGL並非如此。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM