gpt4 book ai didi

java - 计算机图形学坐标与 glu (OpenGL)

转载 作者:行者123 更新时间:2023-12-01 10:28:46 25 4
gpt4 key购买 nike

我很难弄清楚 glu 中的坐标系是如何工作的,有几个问题需要解决。

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),那么它在视口(viewport)坐标系中的坐标是多少?

还有另一个(不是真正具体的代码):

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)

两条截断的 Sprite 曲线将放置在哪里?

现在我想我能够解决这些问题,但我不知道坐标系是如何工作的。

最佳答案

世界坐标是任意的,你可以选择它们。在本例中为 (-50, -75)。

MVP 矩阵和投影变换将它们转换为从 (-1, -1, -1) 到 (+1, +1, +1) 变化的剪辑空间坐标。在本例中为(-0.5,-0.375)。此转换受您使用 gluOrtho2D() 的影响,或者在更现代的程序中,受顶点着色器输出的影响。

视口(viewport)坐标是像素,在本例中是从 (100, 100) 到 (300, 400)。您只需缩放剪辑空间坐标即可进行转换。像素中心位于半整数坐标,因此窗口的左下像素位于(0.5,0.5)。您的点位于 (200, 193.75)。此转换受使用 glViewport() 的影响。

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

关于java - 计算机图形学坐标与 glu (OpenGL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35214699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com