Как создать текстуру с альфа-каналом в QOpenGLTexture?

Я пытаюсь сгенерировать текстуру с QImage а также QOpenGLTexture,
Я установил QImage цветовой формат до RGBA8888и установите цвет с помощью setPixel, но кажется, что независимо от того, как я изменяю альфа-значение, оно остается равным 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);

Какие-либо предложения?

2

Решение

Я нашел проблему, дело не в настройке самой текстуры.
Это потому, что я не правильно установил функции gl.
я добавил

glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);

И теперь это сработало.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]