我有投影,模型视图和模型视图投影矩阵...我的opengl对象渲染也适用于值。
现在我想将其转换为屏幕坐标...如何从此矩阵中获取屏幕坐标?
float[] modelView = target.getViewMatrix();
float[] projection = target.getProjectionMatrix();
float[] modelViewprojection = target.getModelViewProjectionMatrix();
int[] view = {0,0,(int)screenWidth, (int)screenHeight};
float x = screenWidth/2, y = screenHeight/2, z = 0.01f;
float[] pos = new float[4];
GLU.gluProject(x, y, z,
modelView, 0,
projection, 0,view, 0,
pos, 0);
float xpoint = convertPixelsToDp(pos[0],this);
float ypoint = convertPixelsToDp(pos[1],this);
我尝试了上面的代码,它给了我x和y点,但它们太多波动
还有其他方法可以在屏幕上获得稳定的x和y点吗?
答案 0 :(得分:0)
您的API调用看起来不对。
GLU.gluProject(x, y, z, modelView, 0, projection, 0,view, 0, pos, 0);
参数顺序与以下内容不同:
https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/gluProject.xml
您使用的是哪个库?