测验:坐标系与投影
透视感在流水线的哪个阶段产生?
- 乘以投影矩阵时
- 乘以视图矩阵时
- 用 w 除裁剪坐标时
- 通过视口变换生成像素坐标时
透视投影矩阵最后一行为 (0, 0, -1, 0),原因是什么?
- 把深度值调整到 -1 到 1
- 让结果的 w 分量成为到相机的距离
- 在右手和左手坐标系之间转换
- 裁剪 far 平面外的顶点
正交投影与透视投影的矩阵结构,决定性差异在哪里?
- 正交投影不使用 near 和 far
- 正交投影可以用 3x3 矩阵表示
- 正交投影不考虑宽高比
- 正交投影最后一行为 (0,0,0,1),w 始终保持为 1
把 near 平面设得很小,例如 0.001,会产生什么问题?
- 远处物体之间的 z-fighting 更严重
- 近处物体被裁掉而不可见
- 视野角变窄
- 帧耗时与 near 成反比增长
look_at 生成的视图矩阵第三行为什么放入 -f?
- 使它与上方向向量正交
- 反转深度值符号
- 因为右手坐标系约定相机朝 -z 方向观察
- 使行列式等于 1
窗口从 800x600 改为 1200x600,却不更新投影矩阵,会发生什么?
- 屏幕左侧三分之一变黑
- 物体看起来被横向拉伸
- 深度精度下降,出现 z-fighting
- 没有变化