2011-05-18 66 views
0

作为我写作的游戏的一部分,我有一个纹理地平面,目前作为四边形实现。向GL空间内的对象添加鼠标侦听器

我需要能够听取鼠标点击并将它们的坐标指向地平面。

我可以很容易地实现一个侦听器,它返回视图空间内的坐标。然而,视点是可移动的,因此视域中的像素并不总是与地平面上的相同坐标相对应。

是否可以实现鼠标监听器的四方?

否则,是否有另一种平面实现可以让我纹理平面并监听鼠标事件。

任何建议非常感谢!

回答

0

我想读你的问题的第一件事是(Picking)。但是,由于您只有一个四边形,因此您无法确定四边形内的位置。

另一种解决方案是解决OpenGL范围之外的这个问题,并计算光线和四边形的交点。为了确定从视角到场景的光线,您仍然需要OpenGL上下文。

0

OpenGL只是绘制东西到屏幕上。特别是绘制点,线,三角形,四边形和凸平面多边形。一旦像素被设置好,OpenGL就没有关于它绘制的东西的持久性。

你在想什么的术语叫做场景图,但OpenGL不是这样。

但是,您当然可以实现一个使用OpenGL绘制内容的场景图,并且此场景图可以实现事件管理并将事件监听器与其绘制的内容相关联。