OPENGL(glOrtho功能)

时间:2015-04-05 21:09:38

标签: opengl opengl-es opengl-3

这个功能的确切含义是什么

if(w<=h)
glortho(-2.0,2.0,-2.0*(GLfloat)h/(GLfloat)w,2.0*(GLfloat)h/(GLfloat)w,-2.0,2.0);
else
glortho(-2.0*(GLfloat)w/(GLfloat)h,2.0*(GLfloat)w/(GLfloat)h,-2.0,2.0,-2.0,2.0);

我知道glortho用于正交视图,可以查看3d对象(left,right,bottom,top near,far)视图

为什么使用负号和正号以及为什么它除以高度和宽度

1 个答案:

答案 0 :(得分:1)

如您所知,glOrtho调用将前4个参数的leftrighttopbottom值作为参数。这样做是根据某物的宽度和高度调整投影的纵横比(可能是绘制的窗口或视口)。如果宽度小于高度,则它将按高度与宽度的比例缩放高度,并将宽度保留为4个单位(-2到+2)。如果高度小于宽度,则它将高度保留为4个单位,并缩放宽度以保持正确的宽高比。