OpenGL中的POLYGON SMOOTH做了奇怪的事情

时间:2014-06-24 17:02:28

标签: opengl smooth

我试图在我的体素引擎中获得一些抗锯齿,但是当我启用GL_POLYGON_SMOOTH状态时,我会在多边形的边界上得到这些奇怪的波浪

无:

使用:

您是否知道这可能来自哪里?

1 个答案:

答案 0 :(得分:3)

这是正常的。

多边形平滑需要3件事才能正常工作:

  1. 使用GL_POLYGON_SMOOTH时,从后到前绘制体素。
  2. 存储目标alpha(例如RGBA而非RGB)的帧缓冲区
  3. 混合功能必须为GL_SRC_ALPHA_SATURATE, GL_ONE
  4. 如果你考虑了所有这三件事,那么黑白子像素工件就会消失。

    由于按特定顺序绘制体素相当繁琐且不推荐使用GL_POLYGON_SMOOTH,因此大多数人只是使用多重采样抗锯齿。我实际上建议你也走这条路。