在本教程中,

渲染三角形并共享边的情况经常发生。 OpenGL提供的保证是,只要共享边
顶点位置相同,在
扫描转换期间就不会有样本间隙。

1在什么情况下,样本间隙究竟是什么?扫描转换?
2在什么情况下会发生?
3线穿过片段的中心会发生吗?

#1 楼

如果您没有“适当地”做事,就会出现样本缺口。

在OpenGL或D3D中,假设绕组顺序一致,如果您具有三角形ABC和CBD,则在采样点(即在扫描转换期间进行的测试)是否确定点(读取像素)在三角形内部-恰好位于共享边BC上,则该样本将恰好属于这两个三角形之一。

这样可以避免间隙和双重填充。后者对于半透明或模版操作会造成问题。

评论


$ \ begingroup $
作为示例,两个边缘共享三角形可以将同一像素完美地分成两部分,但是OpenGL实现应保证仅其中一个三角形覆盖像素中心。哪一个取决于实现。
$ \ endgroup $
–安德烈亚斯(Andreas)
16年5月23日在18:27