计算机图形与glu的坐标(OpenGL)

问题描述:

我很难弄清楚glu如何工作的坐标系,有几个问题需要解决。计算机图形与glu的坐标(OpenGL)

GLJPanel canvas = new GLJPanel(); 
frame.setSize(400,600); // Size in pixels of the frame we draw on 
frame.getContentPane().add(canvas); 

glu.gluOrtho2D(-100.0, 100.0, -200.0, 200.0); 

gl.glViewport(100,100,200,300); 

如果点世界坐标(-50,-75),什么是它在视口中坐标系?

和另一个(不是真的特定代码):

gluOrtho2D(-1.0, 0.0, -1.5, 0.0) and glViewport(0,300,200,300) 
gluOrtho2D(0.0, 1.0, 0.0, 1.5) and glViewport(200,0,200,300) 

当将两条截断精灵曲线定位?

现在我想我可以解决这些问题,但是在坐标系统的工作方式上已经失败了。

世界坐标是任意的,你可以选择它们。在这种情况下,(-50,-75)。

MVP矩阵和投影变换将这些变换为片段空间坐标,其从(-1,-1,-1)到(+1,+1,+1)变化。在这种情况下,(-0.5,-0.375)。此转换受您使用gluOrtho2D()或更现代的程序(顶点着色器的输出)的影响。

在这种情况下,视口坐标是像素,从(100,100)到(300,400)。您只需缩放要转换的剪辑空间坐标。像素中心位于半整数坐标处,因此窗口的左下角像素位于(0.5,0.5)处。你的观点位于(200,193.75)。此转换受使用glViewport()的影响。

我不知道什么是“genie曲线”。

+0

我有一张照片上传它只是为了显示我什么时候有机会。谢谢你解释。 – Javaturtle