不明白gluperpective的fovy参数
为什么当fovy参数不同时,必须乘上不同的系数,才能将模型坐标映射到屏幕坐标呢?它们之间是什么关系呀? 终于弄明白了
void mouse(int button,int state,int x,int y)
{
float fx = (abs((posz - eyez))*(x-width)/width)/pow(tan(fovy/360),-2);
float fy = (abs((posz - eyez))*(height-y)/width)/pow(tan(fovy/360),-2);
再将fx,fy,0,1矩阵乘上一个gl_projection_matrix即可得到屏幕坐标
}这样即将win32屏幕坐标转换到投影变换后的屏幕坐标
void mouse(int button,int state,int x,int y)
{
float fx = (abs((posz - eyez))*(x-width)/width)/pow(tan(fovy/360),-2);
float fy = (abs((posz - eyez))*(height-y)/width)/pow(tan(fovy/360),-2);
再将fx,fy,0,1矩阵乘上一个gl_projection_matrix即可得到屏幕坐标
}这样即将win32屏幕坐标转换到投影变换后的屏幕坐标
posted on 2007-03-16 11:13 cloudseawang 阅读(1775) 评论(0) 编辑 收藏 举报