测验:光栅化与深度
对于重心坐标 (u, v, w),以下哪项始终成立?
- 三个值都在 0 和 1 之间
- 三个值之和为 1
- 三个值中必有一个为 0
- 三个值的乘积等于三角形面积
光栅化三角形时,为什么只遍历边界框,而不遍历整个屏幕?
- 边界框外无法计算重心坐标
- 浮点误差会随距离增大
- 结果相同,但遍历的像素数量大幅减少
- 深度缓冲按边界框管理
深度缓冲相比画家算法(从后往前绘制),决定性优势是什么?
- 占用更少内存
- 能准确合成半透明物体
- 即使三角形互相穿透或循环遮挡,也能逐像素得到答案
- 三角形数量增加时计算量不变
相邻两个三角形之间出现一像素缝隙,原因是什么?
- 双方都判定共享边上的像素不属于自己
- 深度缓冲精度不足
- 两个三角形的顶点坐标并不完全相同
- 边界框少算了一个像素
计算屏幕坐标中三角形的有符号面积,目的是什么?
- 判断三角形是否超出屏幕
- 判断顶点绕序,也就是正面还是背面
- 归一化深度值
- 消除重心坐标的分母
出现 z-fighting 时,哪种应对最有效?
- 把 far 平面设得更远
- 增大 near 平面距离
- 重新从后向前排序三角形
- 提高屏幕分辨率