0

我几乎完成了一个只使用顶点数组而没有着色器的应用程序。我使用 glAlphaFunc 绘制了很多多边形,而且速度出乎意料地慢。这是因为它已被硬件贬值且不受硬件支持,或者如果我有一个纹理着色器和一个 alpha 测试来丢弃片段,它会同样慢吗?

4

1 回答 1

2

启用 alpha 混合后,每个片段都被着色并混合到帧缓冲区中,而不管其深度值如何,这意味着大量的写入操作。但是如果没有 alpha 混合,管道可以在片段着色之前利用 Z 缓冲区来丢弃那些在早期 Z 测试中失败的片段。这可以大大减少写操作。

于 2012-04-26T07:44:26.677 回答