我是opengl的新手。我正在使用opengl ES2.0在android中绘制地图。当我触摸屏幕时,我正在获取屏幕坐标。我希望这些坐标转换成世界坐标。我通过研究发现的代码如下:如何从opengl es2.0的屏幕坐标获取世界坐标?
vec3 UnProjectPoint(const vec3& Point, const max4& Projection, const mat4& ModelView)
{
vec4 R(Point, 1.0f);
R.x = 2.0f * R.x - 1.0f;
R.y = 2.0f * R.y - 1.0f;
R.y = -R.y;
R.z = 1.0f;
R = Projection.GetInversed() * R;
R = ModelView.GetInversed() * R;
return R.ToVec3();
}
但android不允许我使用vec3和vec4? 我也使用内置的gluunproject函数,但这个功能也没有给我正确的结果。
不,我不喜欢对象采摘我只想世界坐标不是屏幕坐标 –