当前位置: 代码迷 >> Android >> 提问一上gluPerspective模型上,顶点坐标于屏幕坐标怎么对应的有关问题
  详细解决方案

提问一上gluPerspective模型上,顶点坐标于屏幕坐标怎么对应的有关问题

热度:31   发布时间:2016-05-01 17:34:53.0
提问一下gluPerspective模型下,顶点坐标于屏幕坐标如何对应的问题.
我使用
Aspect = (GLfloat)width / (GLfloat)height;
gluPerspective(45.0f,Aspect,0.1f,100.0f);
设置透视投影矩阵.
z=-10.
我在画一张图片的之前,先glTranslatef(0.0f,0.0f,z);

这时候,在深度为z的平面上,我该如何设置我的顶点坐标,使图片正好填满屏幕,误差在两个像素以内?

透视投影矩阵,是以点(0,0,0)为默认的视点的吗?有什么公式,可以得到我在任意深度画的图片与屏幕的关系?
问题补充:
glTexCoord2f(0.0f, 0.0f); glVertex3f(-13.3f, -10.0f, 0.0f);
glTexCoord2f(1.0f, 0.0f); glVertex3f( 13.3f, -10.0f, 0.0f);
glTexCoord2f(1.0f, 1.0f); glVertex3f( 13.3f, 10.0f, 0.0f);
glTexCoord2f(0.0f, 1.0f); glVertex3f(-13.3f, 10.0f, 0.0f);

为什么这几个定点画出来的图,要z=-0.09时才能正好填满屏幕.

而我使用z / tan(22.5 * 3.14 / 180) * 2这样的式子,希望通过z的长度和视角的大小,得到平面的宽度,但得到的也不是我想要的值.

------解决方案--------------------
也遇到这个问题,我在代码中使用了lookat,猜想远视点为绘制平面,不过据此运算得出的数据还是不对,同求解答
  相关解决方案