OPENGL(glOrtho 函数)

OPEN GL(glOrtho functiion)

这个函数的确切含义是什么

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)views

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

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