glOrtho2D如何工作

Sag*_*pta 1 opengl

glViewport(0, 0, w, h);

gluOrtho2D(10, 100, 10, 100);
Run Code Online (Sandbox Code Playgroud)

我没有得到任何输出,你能帮帮我吗?

如果我把它设置为

gluOrtho2D(-50, 50,-50, 50);
Run Code Online (Sandbox Code Playgroud)

然后在窗口中心创建对象.

Nic*_*ler 8

gluOrtho2D(left, right, top, bottom)定义一个视图框.这意味着没有观点.

gluOrtho2D(-50,50,-50,50);
Run Code Online (Sandbox Code Playgroud)

你说(假设你没有额外的模型视图矩阵):

  • 视口的左边缘位于世界位置x = -50
  • 视口的右侧位于世界位置x = +50
  • 视口的上边缘位于世界位置y = -50
  • 视口的底部位于世界位置y = +50

如果那时你的物体出现在屏幕的中心,它可能位于世界的原点.

如果你指定

gluOrtho2D(10,100,10,100);
Run Code Online (Sandbox Code Playgroud)

然后你可以看到10到100的x范围.原点不在此范围内,因此不可见(它超出了视口的左边缘).

请注意,基于API,此功能显然有两种不同的签名: gluOrtho2D(left, right, bottom, top)gluOrtho2D(left, right, top, bottom).

  • 你可以毫无疑问地说OP没有研究吗?也许他做了一些研究,但并不了解大部分内容.毕竟,有大量的术语和数学需要知道. (3认同)