0

我已经阅读了一些关于 OpenGL 是什么以及 OpenGL 如何在代码中工作的教程,但我根本不明白你是如何使用它的,就像你使用画布一样。

在所有教程中,他们向我展示了 OpenGL 能够绘制我想要的任何对象,但总是使用诸如“1.0f、1.0f、0.0f”、“-1.0f、-1.0f、0.0f”之类的顶点示例和“0.0f,0.0f,0.0f”。我假设浮点数代表像素,这意味着我的顶点在 A (1px/1px/0px)、B (0px/0px/0px) 和 C (-1px,-1px,-1px) 上。因此,如果我从附近(例如 0/0/-10)查看我的新三角形,那么我可以看到它。如果我从远处(例如 0/0/-500)查看它,那么我看不到它,因为它只有几个 px² 大。我对吗?

如果我是对的,所有这些浮点数都代表像素。意味着如果我从足够远的地方查看我的 OpenGL-Surface,我可以看到屏幕及其原始尺寸的像素,不是吗?那么我如何确定距离,我必须在“GLU.gluLookAT(GL,x,y,DISTANCE,...)”中设置?以及如何将坐标平面移动到屏幕的左上角或更好的左下角?

如果我能够做到这一点,我的视点 (GLU.gluLookAt(...)) 位于 x=screen_width / 2、y=screen_height / 2 和 z=?。在那种情况下,我不会看到直接在我“下方”的对象,只是在尺寸上,以及所有其他对象(例如在 x=0、y=0、z=0 或 x=screen_width 上, y=screen_height, z=0) 从其他方向?我的意思是,我不会看到它们以另一种方式变形/成形吗?

我只想使用 OpenGL,因为它更快,并且因为我想学习如何处理它,但我想在我的对象上拥有相同的视图,就像在画布上一样。

提前致谢!

4

1 回答 1

1

这些浮点数不代表像素。它们只是 OpenGL 坐标系中的单位。最终绘制的像素是图形处理管道对输入数据执行的转换的组合,您通常不直接控制它们。

于 2012-08-24T17:19:25.177 回答