gpt4 book ai didi

c++ - GL_Points 上的 gluUnproject 或从鼠标坐标中查找深度坐标

转载 作者:太空宇宙 更新时间:2023-11-04 14:24:29 24 4
gpt4 key购买 nike

我有一个由很多点组成的场景,我用它绘制了

glBegin(GL_POINTS);
glVertex3f(x[i],y[i],z[i]); // the points are displayed properly ..
glEnd();

我想要做的是能够使用鼠标单击场景中的一个点并获取其 3-D 坐标。

我看到其他线程可以使用:

glReadPixels((GLdouble)mouse_x, 
(GLdouble) (rect.Height()-mouse_y-1),1, 1,GL_DEPTH_COMPONENT, GL_FLOAT, &Z);

并使用z中的值

gluUnProject(mouse_x, mouse_y, 0, modelview, projection, viewport, out posX, out posY, out posZ);

但我总是得到 z=0 作为输出。这是因为这些是点而不是多边形吗?有什么方法可以获取 z 的坐标吗?

最佳答案

很遗憾,这无法完成。屏幕上的任何点 x,y 点都可以指场景中沿给定射线的任何点。

鉴于您正在绘制点,您可能想要使用 select mode选择一个特定的点,然后确定该点的坐标。

关于c++ - GL_Points 上的 gluUnproject 或从鼠标坐标中查找深度坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5185121/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com