Home Forums GAMES在线课程(现代计算机图形学入门)讨论区 提高部分的解决方案 – 答案就在作业文档中 Reply To: 提高部分的解决方案 – 答案就在作业文档中

#3412 Score: 0
JZZ
Keymaster
2 pts

黑边不是混叠是覆盖。。。。渲染过程是分离的,物体是一个一个渲染。先可以理解为渲染近的物体,再渲染远的物体(实际上这是一个比较随机的过程)。黑边的位置是前三角形的边缘,假设这个边缘有一半采样点在前三角内,一半在前三角外,那这个边缘pixel就采样了前三角的边缘梯度颜色。。。。随后开始渲染较远的三角形,在前三角重叠位置的边缘pixel,对后三角来说,有一半是能通过深度检测的(不被前三角遮挡)并且在后三角内(取后三角的颜色),另一半是被前三角遮挡不通过深度检测的(取背景黑色),这样又在这个边缘pixel获得了一个新的颜色值(这个值应该等于后三角的边缘梯度颜色)。。。。可以用吸管吸出看看两个值的确是相等的。。“黑边”是渲染后三角时用后三角的边缘颜色覆盖了实际上是前三角的一条边缘,只不过这两个浅纯色三角形之中视觉上看着更深而已。对pixel使用depth-buffer的话可以保证“黑边”位置不会被重复着色,而且逻辑上黑边位置就应该是前三角AA后的边缘梯度颜色,,,我之前在一篇帖子下回过一遍了,我觉得这种解释比较能讲通。话说着色是通过frame-buffer数组里存值的更新实现的,除非采样点是从frame-buffer里拿出颜色,否则默认不处理(取背景色黑)的话物体之间颜色是没有干扰混叠的