Iphone OpenGL:获取对象的位置/当前身份
由于没有一种简单的方法可以计算出您是否单击了 3D 世界中的某个对象,因此我决定构建自己的函数来执行此操作,这将非常简单
到目前为止,我正在做的是创建一个始终为即使我移动或旋转,也会在我前面一点。
然后我想知道的是物体现在在 3d 空间中的位置?
我认为这会给我新的位置
GLfloat matrix[16];
glGetFloatv(GL_MODELVIEW_MATRIX, matrix);
要将一个物体粘在我面前,我正在执行以下操作
glTranslatef(eye[0], 1 , eye[2]);
glRotatef(-rotation, 0, 1, 0);
glTranslatef(0, 0 , 10);
这效果很好:)
问题是
我如何获得我放置的正方形的位置在我前面(在我前面10分)。我想要世界 x,y,z 坐标
due to there not being an easy way to work out if you clicked on an object in a 3d world, I decided to build my own function to do it which will be very simple
So far, what I am doing is creating a square that's always a little bit in front of me even if I move or rotate.
What I then want to know is that objects position now in 3d space?
I thought that this would give me the new position
GLfloat matrix[16];
glGetFloatv(GL_MODELVIEW_MATRIX, matrix);
To stick an object in front of me I am doing the following
glTranslatef(eye[0], 1 , eye[2]);
glRotatef(-rotation, 0, 1, 0);
glTranslatef(0, 0 , 10);
This works well :)
The Question is
How do I get the position of the square that I put in front of me (10 points in front of me). I want the world x,y,z coordinates
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为了获取屏幕空间中某个点的当前世界空间坐标,您可以使用 gluUnProject 函数。这会对你派上用场。
还有 gluProject 可以以相反的顺序执行此操作。
In order to get the current world-space coords of a point in screen-space, you can use
gluUnProject
function. This will come in handy for you.There's also
gluProject
for doing this in reverse order.