我是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函數,但這個功能也沒有給我正確的結果。
不,我不喜歡對象採摘我只想世界座標不是屏幕座標 –