白菊花瓣

Forum Replies Created

Viewing 1 post (of 1 total)
  • Author
    Posts
  • in reply to: 作业2:关于 SSAA #7687 Score: 0
    白菊花瓣
    Participant

    我是这么做的:
    将深度缓存扩大 4 倍,这样每个采样点都可以保存深度和进行深度测试
    创建一个比 帧缓存大 4 倍的 临时缓存
    然后对每个采样点进行 是否在三角形内部的判断 和 深度测试,通过的写入深度缓存 并把 颜色存入 临时缓存。
    像素都操作完毕后,再进行一次后处理操作,再次遍历所有像素,从 临时缓存中拿到 4 个采样点的颜色 进行混合(这一步存在大量无效操作,如果能只在三角形边缘进行混合操作就好了)。因为如果采样点的颜色混合在第一次遍历像素时就进行,那么在绘制第一个三角形时,在两个三角形的交界处,由于另一个三角形还没有绘制出来,所以在交界处会出现 与背景的黑色进行混合,从而产生黑边。
    所以需要一个 sample list(在这里我相当于把它拆成了 temp_frame_buffer 和 depth_buffer) 来存储采样点的信息,并在最后做混合。
    从深度测试的角度来看,如果一个像素内四个采样点的深度都设为一个值,那么同样在两个三角形交界处会有问题,位于后面的三角形 本来应该有采样点要通过深度测试 却会被 前面的三角形的一整块像素给遮挡,导致混合结果不正确。

Viewing 1 post (of 1 total)