首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将设备坐标归一化为窗口坐标

将设备坐标归一化为窗口坐标
EN

Stack Overflow用户
提问于 2011-01-02 22:27:32
回答 1查看 6.7K关注 0票数 3

我刚刚读了一些关于3d图形背后的理论的东西。据我所知,归一化设备坐标(NDC)是描述水平轴和垂直轴上从-1到1的间隔中的点的坐标。另一方面,窗口坐标描述窗口的(0,0)和(宽度,高度)之间的某个点。因此,我将一个点从NDC坐标系转换到窗口系统的公式如下

代码语言:javascript
运行
复制
xwin = width + xndc * 0.5 * width
ywin = height + ynfv * 0.5 * height

现在的问题是,在glViewport的OpenGL文档中有另一个公式:

代码语言:javascript
运行
复制
xwin = ( xndc + 1 ) * width * 0.5 + x
ywin = ( yndc + 1 ) * height * 0.5 + y

现在我想知道我搞错了什么。特别是我想知道额外的"x“和"y”是什么意思。

希望这个问题不是太“与编程无关”,但我认为它与图形编程有关。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-02 22:47:43

视口不一定从(0;0)开始,因此OpenGL文档中的'x‘和'y’是指视口的起始位置。

要查看公式的错误之处,请尝试转换(0;0)规范化位置,您将得到(width;height)而不是(width / 2;height / 2)。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4578786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档