0

我需要绘制纹理四边形。我的纹理有一些 alpha 像素。所以我需要做glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

没关系。但我需要在该四边形 ( ) 上使用其他一些混合功能glBlendFunc(GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA);来实现纹理遮罩。我该怎么做?因为如果我同时设置了 glBlendFunc,其中之一将被忽略。

4

1 回答 1

2

混合是一种帧缓冲操作,不能按图元设置。如果您需要在单个基元上组合多个纹理层,请在着色器中执行此操作并发出复合颜色/alpha,该复合颜色/alpha 以正确的方式与选择的混合功能交互。如果您需要不同的混合功能,则必须使用单独的绘图调用来执行此操作。

于 2012-08-23T16:36:24.327 回答