我的github
posts - 3243,  comments - 42,  views - 158万

OpenGL中的坐标系统:https://zhuanlan.zhihu.com/p/354200548

 NDC:Normalized Device Coordinates。所谓的PerspectiveProjection 其实就是将顶点从view 坐标系下,转换到NDC下(https://zhuanlan.zhihu.com/p/25095708?utm_medium=social)NDC是什么坐标系?应该是裁剪坐标系吧?裁剪坐标系除以w等于NDC坐标。参考:https://zhuanlan.zhihu.com/p/65969162?utm_id=0。Clip Space是一个顶点乘以MVP矩阵之后所在的空间,Vertex Shader的输出就是在Clip Space上(划重点),接着由GPU自己做透视除法将顶点转到NDC。

  • 世界坐标系:世界坐标系是始终固定不变的,OpenGL使用右手坐标系。
  • 对象坐标系:用于建模的坐标系,当模型建立好之后需要对模型进行model变换,才能将模型变换到世界坐标系的对应位置中。
  • 相机坐标系:model变换是将对象坐标系变换到世界坐标系中,view变换是将世界坐标系变换到相机坐标系也就是eye coordinates,通过view变换,可以将场景与我们的观察位置对应起来。
  • 裁剪坐标系:要讲模型顶点的坐标变换到[-1,1]中,也就需要进行归一化设备坐标以及投影变换。投影变换不仅定义了视域体,还定义了如何将顶点投影到屏幕上。投影变换分为透视投影和正交投影,透视投影的视域体是一个视锥,而正交投影的视域体是一个长方体。
  • 屏幕坐标系:屏幕上的设备坐标称为屏幕坐标,又被称为物理坐标,是指输出设备上的坐标。需要将归一化后的坐标变换到相应的屏幕坐标上。
posted on   XiaoNiuFeiTian  阅读(109)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2022-11-14 GeoServer和ArcGISServer的WMTS服务怎么发布和调用
2022-11-14 MVT.js:Cesium.defineProperties找不到
2022-11-14 Cesium.CesiumVectorTile
2022-11-14 stats.js一个JavaScript性能监视器:dom和domElement
2022-11-14 关于浏览器:如何计算一个物体在WebGL中的渲染时间?看上去我计算错了
2019-11-14 目标检测Object Detection概述(Tensorflow&Pytorch实现)
2017-11-14 QGIS编译教程
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示