使用Iphone和Objective C 我试图在我的opengl视图中找到被点击/触摸的平面。通常我会使用glPushName / flPopName,但这个函数似乎没有在sdk中实现或在中定义。有没有人知道从哪里获得有用的功能或其他方式来获取被点击的对象?
答案 0 :(得分:2)
OpenGL ES不支持这些功能。你必须找到另一种选择方式。之一:
将具有不同颜色的实体面渲染到低分辨率缓冲区中。选择渲染缓冲区分辨率,使拾取方块占据3x3像素网格,选择中心像素中的颜色或占据最边缘像素的颜色。
几何确定拾取。这通常需要将几何体放置在某种BSP中,然后使用从射击像素开始向下发射到屏幕的光线进行相互作用测试。
以分析方式确定选择。如果几何图形简单和/或足够规则,您可以使用一些简单的数学运算来找出您所使用的几何图形。