图形处理WIKI
+ -

规范化坐标

2025-02-05 12 0
原文转自:https://jia.je/kb/software/cg.html#normalized-device-coordinates

NDC(Normalized Device Coordinates)是经过一系列变换以后,得到的最终的 3D 坐标。

以 OpenGL 为例,NDC 就是一个在三个坐标轴上都在[-1,1] 之间的立方体,只有在这个立方体中的物体才可能被显示出来。

NDC 的坐标范围在不同的图形 API 下可能不一样,例如 OpenGL 和 WebGL 是从 [-1,-1,-1]到 [1,1,1],而 DirectX-12、Metal、Vulkan 和 WebGPU 是从 [-1,-1,0]到 [1,1,1],也就是 Z 轴上的范围只有[0,1]。

因此 NDC 到屏幕坐标的对应关系是:

x 轴:-1 -> x, 1 -> x + w
y 轴:-1 -> y, 1 -> y + w
z 轴:-1 -> n, 1 -> f
其中 x, y, w 和 h 用 glViewport 函数设置,n 和 f 用 glDepthRange 设置。

0 篇笔记 写笔记

作者信息
站长漫谈
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!