相关疑难解决方法(0)

Android OpenGL ES 2.0屏幕坐标为世界坐标

我正在构建一个使用OpenGL ES 2.0的Android应用程序,而且我遇到了问题.我正在尝试将屏幕坐标(用户触摸的位置)转换为世界坐标.我尝试过阅读和玩弄GLU.gluUnProject,但我做错了或者只是不明白.

这是我的尝试......

public void getWorldFromScreen(float x, float y) {
    int viewport[] = { 0, 0, width , height};

    float startY = ((float) (height) - y);
    float[] near = { 0.0f, 0.0f, 0.0f, 0.0f };
    float[] far = { 0.0f, 0.0f, 0.0f, 0.0f };

    float[] mv = new float[16];
    Matrix.multiplyMM(mv, 0, mViewMatrix, 0, mModelMatrix, 0);

    GLU.gluUnProject(x, startY, 0, mv, 0, mProjectionMatrix, 0, viewport, 0, near, 0);
    GLU.gluUnProject(x, startY, 1, mv, 0, mProjectionMatrix, 0, viewport, 0, far, 0);

    float nearX …
Run Code Online (Sandbox Code Playgroud)

android coordinate-transformation opengl-es-2.0

20
推荐指数
1
解决办法
1万
查看次数