作为我正在编写的游戏的一部分,我有一个纹理地平面,目前实现为四边形。
我需要能够听取鼠标点击并将其坐标指向地平面。
我可以轻松实现一个返回视图空间内坐标的监听器。但是,视点是可移动的,因此视图空间中的像素并不总是对应于地平面上的相同坐标。
是否可以为四元组实现鼠标侦听器?
否则,是否有一个替代的平面实现,它允许我纹理平面并监听鼠标事件。
非常感谢任何建议!
答案 0 :(得分:0)
我想到的第一件事就是阅读你的问题(Picking)。但由于你只有一个四边形,你将无法确定四边形内的位置。
另一个解决方案是在OpenGL范围之外解决这个问题并计算光线和四边形的交集。要确定从视点到场景的光线,您仍然需要OpenGL上下文。
答案 1 :(得分:0)
OpenGL只是将内容绘制到屏幕上。特别是它绘制点,线,三角形,四边形和凸面平面多边形。设置像素后,OpenGL对其绘制的内容没有持久性。
您正在考虑的术语称为场景图,但OpenGL不是这样的。
但是你当然可以实现一个使用OpenGL绘制内容的场景图,这个场景图可以实现事件管理并将事件监听器关联到它绘制的内容。