计算机图形与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曲线”。
我有一张照片上传它只是为了显示我什么时候有机会。谢谢你解释。 – Javaturtle