【发布时间】:2010-11-27 22:04:19
【问题描述】:
我想使用gluProject 函数,在“渲染”后获取二维窗口中的点坐标。问题是,我得到了奇怪的结果。例如:我有一个 x=16.5 的点。当我在上面使用gluProject 时,我得到 x= -6200.0。
如果我理解gluProject 好的,我应该在“渲染”之后在屏幕上获得该点的像素位置 - 对吗?如何将奇怪的结果转换为屏幕上的像素坐标?
感谢您的帮助!
我使用的代码(通过“sum1stolemyname”):
GLdouble modelview[16], projection[16]
GLint viewport[4];
glGetDoublev(GL_MODELVIEW_MATRIX, *modelView);
glGetDoublev(GL_PROJECTION_MATRIX, *projection);
glGetIntegerv(GL_VIEWPORT, *viewport);
double tx, ty, tz;
for(i = 0; i < VertexCount; i++)
{
gluProject(vertices[i].x, vertices[i].y, vertices[i].z,
modelview, projection, viewport,
&tx, &ty, &tz)
}
【问题讨论】:
-
这不会编译。您正在混合使用 * 和 & 运算符。
标签: opengl projection