5-2 透视投影

前言

本节:透视矩阵

一 平截头体

1. 平截头体
由投影矩阵创建的平截头体(Frustum) - 就是在世界坐标系中圈出来一个棱台(如下棱台)
在这里插入图片描述

二 透视除法

  1. 在顶点渲染中,投影是最后一步
    V c l i p = M p r o j e c t i o n ⋅ M v i e w ⋅ M m o d e l ⋅ V l o c a l V _{clip} = M _{projection} · M _{view}· M _{model} · V _{local} Vclip=MprojectionMviewMmodelVlocal
    projection 采用:透视法

  2. 透视矩阵(就是投影)

glm::mat4 proj = glm::perspective(glm::radians(45.0f),(float)width/(float)height,0.1f,100.0f);
名称取值说明
可视角度glm::radians(45.0f)45°的弧度
宽高比(float)width/(float)height是一个比值
near0.1f近值
far100.0f远值
  1. projection 过程(5步骤)
    a.平截头体 (棱台)内的留下,其他物体删除(=删除左右)
    b.修改齐次坐标分量 w值. 远的点=w大 近的=w小 ( 这是删除前后);
    c.被变换后其他分量,x,y,z的坐标都是在-w和+w之间
    d.比较远的物体w值比较大,比较近的物体w比较小
    e.x/w y/w z/w 就直接标准化了.(透视除法)
    投影矩阵 near 和 far
    near如果设置太大,可能会穿模

  2. 透视除法(第e步骤,见上条)
    透视除法(Perspective Division)将x,y,z分别处以w,将4D裁剪坐标变换为3D标准化坐标设备,
    这一步在每一个顶点着色器运行的最后被自动执行。
    向 量 4 D = [ x y z w ] 向量4D=\left[ \begin{matrix} x \\ y \\ z \\ w \end{matrix} \right] 4D=xyzw
    变为
    向 量 3 D = [ x / w y / w z / w ] 向量3D=\left[ \begin{matrix} x/w \\ y/w \\ z/w \end{matrix} \right] 3D=x/wy/wz/w
    向量3D中的 x,y,z∈[-w,w]范围之内了.所以 x/w,y/w,z/w一定是标准化.

将特定范围内的坐标转化到标准化设备坐标系**[(-1,1)的区间]**的过程被称之为投影.
没有标准化的图像实际上还是在世界上,只有标准化了才初步到了设备上NDC
在这里插入图片描述
上图解析:
a. 在Frustum 之外的–被剔除
b. 在Frustum 之内的–被保留
c. Field of View= 可见区域:(越大=看的区域大)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值