我刚刚阅读了一些有关3D图形理论的内容。据我所知,规范化设备坐标(NDC)是描述横轴和纵轴上区间为-1到1的点的坐标。另一方面,窗口坐标描述了窗口大小为(宽度,高度)之间的某个点。 因此,将一个点从NDC坐标系转换为窗口坐标系的公式应该是:
xwin = width + xndc * 0.5 * width
ywin = height + ynfv * 0.5 * height
现在的问题是,在OpenGL文档中,glViewport有另一种公式:
xwin = ( xndc + 1 ) * width * 0.5 + x
ywin = ( yndc + 1 ) * height * 0.5 + y
现在我在想我做错了什么。特别是我想知道额外的“x”和“y”是什么意思。
希望这个问题不太“与编程无关”,但我认为它与图形编程有关。