在尝试了glBlendFunc的各种组合后,我注意到它们中的大多数对我的手机(HTC Desire)没有影响,而它们在模拟器中工作得很好。在手机上,只有0 + 1,1 + 0,1 + 1有任何可见效果,而所有其他组合似乎都被忽略。这是硬件限制吗?
P.S。我正在使用Java在Android 2.2上运行我的测试。
答案 0 :(得分:0)
不,它可能只是驱动程序错误或代码中的错误。你几乎没有提到任何东西。你的帧缓冲区有alpha通道吗?你的纹理也有alpha通道吗?您是否尝试过标准混合功能:
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
答案 1 :(得分:0)
对于可能遇到同样问题的人:使用openGL常量(GL10.GL_SRC_COLOR,GL10.GL_DST_COLOR)作为参数,并且不要假设它们在所有设备上映射到相同的实际值。