Создавайте прозрачные элементы при рисовании с помощью GLMeshItem pyqtgraph

#python #opengl #pyqt #pyqtgraph

Вопрос:

Я пытаюсь использовать

 gl.GLMeshItem(vertexes=sel_vertices, faces=sel_face_idx, faceColors=colors,
                             drawEdges=True, edgeColor=colors)
 

для построения граней выбранных вершин треугольников.
Цвет включает в себя четыре элемента для RGBA, я попытался изменить четвертый элемент, чтобы изменить прозрачность, но эффекта нет.

Я также прочитал несколько тем. Кто-то предложил:

 from OpenGL.GL import *
glBlendFunc  (GL_ONE_MINUS_SRC_ALPHA, GL_SRC_ALPHA)
glEnable     (GL_BLEND)
glEnable     (GL_COLOR_MATERIAL)
 

Однако эта проблема все еще не может быть решена.
Как я мог это сделать?

Ответ №1:

следующие строки должны быть добавлены после инициализации представления виджета, т. е.:

 gl.GLViewWidget()
glBlendFunc(GL_ONE_MINUS_SRC_ALPHA, GL_SRC_ALPHA)
glEnable(GL_BLEND)
glEnable(GL_COLOR_MATERIAL)