我正在尝试使用QImage
和QOpenGLTexture
生成纹理。
我已经将QImage
颜色格式设置为RGBA8888
,并使用setPixel
设置颜色,但是无论我如何更改Alpha值,它似乎都保持为255,并且图片的透明度永远不会改变。
这是我的代码:
QImage texPic(width, height, QImage::Format_RGBA8888);
texPic.setPixel(0, 0, qRgba(255,0,0,0));
texPic.setPixel(0, 1, qRgba(0,255,0,100));
QOpenGLTexture *texture = new QOpenGLTexture(texPic);
有什么建议么?
最佳答案
我发现了问题,这不是来自纹理本身的设置。
这是因为我没有正确设置gl函数。
我加了
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
现在它起作用了。