当前位置 : 主页 > 编程语言 > c++ >

c – 如何在OpenGL中使用glOrtho()?

来源:互联网 收集:自由互联 发布时间:2021-06-23
我无法理解glOrtho的用法.有人可以解释它的用途吗? 是否用于设置x y和z坐标限制的范围? glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0); 这意味着x,y和z范围是-1到1? 看看这张图片: Graphical Projectio
我无法理解glOrtho的用法.有人可以解释它的用途吗?

是否用于设置x y和z坐标限制的范围?

glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);

这意味着x,y和z范围是-1到1?

看看这张图片: Graphical Projections

glOrtho命令产生一个“倾斜”投影,您可以在底行看到它.无论顶点在z方向上有多远,它们都不会退回到距离中.

每次我需要在OpenGL中做2D图形时都会使用glOrtho(例如健康栏,菜单等)
每次调整窗口大小时使用以下代码:

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0f, windowWidth, windowHeight, 0.0f, 0.0f, 1.0f);

这会将OpenGL坐标重新映射到等效的像素值(X从0到windowWidth,Y从0到windowHeight).请注意,我已经翻转了Y值,因为OpenGL坐标从窗口的左下角开始.所以通过翻转,我得到一个更常规的(0,0)从窗口的左上角开始.

网友评论