3D数学 学习笔记(7) 视图、视锥、视场(Field of View)、裁切空间、屏幕空间
来源:互联网 发布:淘宝网帽子女包头帽 编辑:程序博客网 时间:2024/06/05 17:23
3D数学 学习笔记(7) 视图、视锥、视场(Field of View)、裁切空间、屏幕空间
参考书籍:
《3D数学基础:图形与游戏开发》
视图
即摄像机的画面。可对应Unity的Canvas。
指定输出窗口
窗口位置在左上像素(winPosx, winPosy),整数winResx, winResy 是以像素为单位的窗口大小。
像素纵横比
像素高对宽的比值,通常为1。pixPhys 指像素物理尺寸。devPhys是显示设备的物理高与宽比(如手机实际显示屏高宽比)。devRes是x、y方向的像素比(如640×480等)。
视锥
摄像机可见的空间体积。透视投影的话是截头椎体(frustum),正交投影是长方体。
视场(fov ,Field of View)和 缩放(Zoom)
即视锥所截的角(水平和垂直)。
通常缩放要和输出窗口对应(否则像拉伸过):
- zoom:相机的zoom值。
- winPhys:窗口物理尺寸。
- winRes:窗口以像素为单位的大小。
- pixPhys:像素的物理尺寸。
- devPhys:输出设备的物理尺寸。
- devRes:输出设备以像素为单位的大小。
裁切空间(标准视体空间,the canonicalview volume space)
4D齐次向量除于w面对应到3D向量:
计算机图形学中,缩放有视锥的形状控制,d值(距离)不重要,所以可以d=1。
空间内的点满足:
近裁切面z/w = -1,远裁切面z/w = 1。zoom是缩放值,n、f分别为近远平面距离。
OpenGL中z值范围在[-w,+w]:
DirectX中值范围在[0,w]:
在正交投影下,OpenGL和DirectX的裁切矩阵:
屏幕空间
各空间变换过程
阅读全文
0 0
- 3D数学 学习笔记(7) 视图、视锥、视场(Field of View)、裁切空间、屏幕空间
- 3D数学 学习笔记(9) 凹凸映射(bump mapping)和切线空间(tangent space)
- 3D数学4D齐次空间
- Directx 3D - 3D视图空间和投影
- 3D数学 学习笔记(3) 欧拉角与四元数
- 3D数学--学习笔记(四):缩放
- 3D数学 学习笔记(1) 向量、坐标系
- 3D数学 学习笔记(2) 矩阵
- 3D数学 学习笔记(4) 几何图元
- 3D数学 学习笔记(5) 三角网格
- 3D数学 学习笔记(8) 光照
- 3D数学 学习笔记(11) 几何检测
- 3D数学--空间直线与平面的交点
- Oracle学习笔记2(表空间)
- 空间复杂性学习笔记(space complexity)
- 重载与命名空间(学习笔记)
- Struts2学习笔记(十一)命名空间
- PHP学习笔记(七):命名空间
- 人脸识别
- OpenCV笔记大集锦
- IntelliJ IDEA 创建maven springmvc 简单项目
- NoSQL简介
- (c#) 销毁资源和释放内存
- 3D数学 学习笔记(7) 视图、视锥、视场(Field of View)、裁切空间、屏幕空间
- tp3.2下支付宝即时到账开发的一种方式
- 微信小程序教学第四章第一节(含视频):小程序中级实战教程:详情-页面制作
- c#访问Oracle数据库,执行数据库操作
- 使用PowerDesigner生成数据库测试数据
- Looper如何和一个线程进行绑定,以及Android中的Can't create handler inside thread that has not called Looper.prepare()
- ionic3 实现扫码功能
- MYSQL创建数据库,切换数据库,创建表,给表添加属性,
- Java后台接收js数组对象,并解析