我已经阅读了几个关于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,因为它更快,因为我想学习处理它,但我希望在我的对象上拥有相同的视图,就像我在画布上一样。
提前谢谢!
答案 0 :(得分:1)
那些花车不代表像素。它们只是OpenGL坐标系中的单位。最终绘制的像素是图形处理管道对输入数据执行的变换的组合,您通常不会直接控制它们。