【问题标题】:OPEN GL(glOrtho functiion)OPENGL(glOrtho 函数)
【发布时间】:2015-04-05 21:09:38
【问题描述】:

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

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

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

【问题讨论】:

    标签: opengl opengl-es opengl-3


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2011-02-20
      • 2015-07-04
      • 1970-01-01
      • 1970-01-01
      • 2018-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多