OpenGL之标准化设备坐标(Normalized Device Coordinate =NDC)
NDC坐标本质是比例1.设备无关性NDC 使图形渲染与屏幕分辨率无关。无论屏幕是 1280×720 还是 1920×1080同样的 NDC 坐标都会渲染出相同比例的图形图形会随着分辨率变化而自动拉伸表现如下┌──────────────────────────────────────────────────────────────────┐ │ NDC 坐标(-0.5, 0.5) 到 (0.5, -0.5) 的正方形 │ └──────────────────────────────────────────────────────────────────┘ 分辨率 800×600 分辨率 1920×1080 ┌──────────────────┐ ┌──────────────────────────────┐ │ │ │ │ │ ┌──────┐ │ │ ┌──────────┐ │ │ │ │ │ │ │ │ │ │ │ 50% │ │ │ │ 50% │ │ │ │ 大小 │ │ │ │ 大小 │ │ │ │ │ │ │ │ │ │ │ └──────┘ │ │ └──────────┘ │ │ │ │ │ └──────────────────┘ └──────────────────────────────┘ 400×300 像素 960×540 像素 ✅ 相对屏幕比例相同 (都是 50%) ✅ 相对屏幕比例相同 (都是 50%)2.简化渲染流程通过将各种坐标系世界坐标、观察坐标、裁剪坐标等统一转换到标准化的 NDC 空间OpenGL 可以统一处理后续的视口变换和光栅化操作。3.自动裁剪任何落在 [-1.0, 1.0] 范围外的坐标都会被自动丢弃/裁剪不会显示在屏幕上。这简化了可见性判断逻辑。4.连接 3D 与 2D 的桥梁NDC 是连接我们定义的 3D 世界与最终 2D 屏幕显示的关键桥梁。所有顶点经过顶点着色器处理后最终都会被转换到 NDC 空间然后映射到实际的屏幕像素坐标。NDC 的生成透视除法 (Perspective Division)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2455549.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!