第四章-学习Shader所需的数学基础

矩阵

  • 方块矩阵:行和列数量相等
  • 对角矩阵:方阵中除对角元素外,其他都是0
  • 单位矩阵:对角阵中对角元素都为1
  • 转置矩阵:对原矩阵做转置运算
  • 逆矩阵:
    • 行列式不为0的矩阵是可逆的
  • 正交矩阵:矩阵的转置是矩阵的逆矩阵
    • 正交基:基矢量之间是相互垂直,则称为一组正交基
    • 标准正交基:基矢量长度为1的正交基

变换

  • 线性变换:缩放、旋转、错切(shear)、镜像(mirroring、reflection)、正交投影(orthographic projection)
  • 仿射变换:线性变换 + 平移变换
  • 齐次坐标:在原N维坐标基础上增加一个维度(w),其中
    • 点:w=1
    • 方向:w=0

坐标空间

  • 模型空间
  • 世界空间
  • 观察空间:
    • func:观察变换:让摄像机空间的坐标原点通过变换矩阵转换到世界坐标空间的原点;
  • 裁剪空间:方便对图元进行裁剪(剔除)
    • func:投影矩阵(透视 或 正交)
  • 屏幕空间:从裁剪空间通过透视除法(齐次除法)得到,在OpenGL中称为NDC坐标(在[-1, 1]之间),再通过屏幕映射转换为屏幕坐标
    • func:透视除法 + 屏幕映射
  • 总结
    • 顶点着色器:负责将顶点转换到裁剪空间(MVP矩阵)
    • 片段着色器:可以获得片元所在的屏幕空间的像素位置

法线变换

  • 背景:通过矩阵变换得到的法线并不能确保其垂直性(书中P86图4.48介绍比较详细)
  • 切线:书中P87中的推导公式有一个前置要求是切线Ta的转置和Ta一致,这是为何?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值