在尝试了glBlendFunc的各种组合之后,我注意到它们中的大多数对我的手机都没有影响(HTC Desire),尽管它们在模拟器中可以正常工作。在电话上,只有0 + 1、1 + 0、1 + 1具有可见效果,而所有其他组合似乎都被忽略了。这是硬件限制吗?

附言我正在使用Java在Android 2.2上运行测试。

最佳答案

不,可能只是驱动程序错误或代码错误。您几乎没有提到任何东西。您的帧缓冲区是否有Alpha通道?您的纹理也有一个Alpha通道吗?您是否尝试过标准混合功能:

glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

10-05 23:34