Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在QGraphicscene中使用复杂的OpenGL作为背景?_Opengl_Qgraphicsview_Qgraphicsscene_Alpha Transparency_Qglwidget - Fatal编程技术网

如何在QGraphicscene中使用复杂的OpenGL作为背景?

如何在QGraphicscene中使用复杂的OpenGL作为背景?,opengl,qgraphicsview,qgraphicsscene,alpha-transparency,qglwidget,Opengl,Qgraphicsview,Qgraphicsscene,Alpha Transparency,Qglwidget,我正在尝试用复杂的OpenGL图像和图像上的一些旋转框创建一个显示。使用我能够有一个两层对象(继承自QGraphicscene),一个简单的OpenGL图像作为背景,在前景上有控件 所以,现在我试图显示我真正的OpenGL图像作为背景。此图像由以下人员创建: 映射到结构上的四边形 一些小的2D对象由2D纹理表示,带有alpha通道和特定着色器,在四边形上绘制(z值上限) 一些多段线 有了这个形象,我有了一些奇怪的行为。二维纹理对象以白色背景绘制。一些实验似乎表明,在这个复杂的OpenGL图像的绘

我正在尝试用复杂的OpenGL图像和图像上的一些旋转框创建一个显示。使用我能够有一个两层对象(继承自QGraphicscene),一个简单的OpenGL图像作为背景,在前景上有控件

所以,现在我试图显示我真正的OpenGL图像作为背景。此图像由以下人员创建:

  • 映射到结构上的四边形
  • 一些小的2D对象由2D纹理表示,带有alpha通道和特定着色器,在四边形上绘制(z值上限)
  • 一些多段线
  • 有了这个形象,我有了一些奇怪的行为。二维纹理对象以白色背景绘制。一些实验似乎表明,在这个复杂的OpenGL图像的绘制中,alpha通道被禁用

    我为用作QGraphicsView视口的QGLWidget尝试了不同的配置,但没有结果


    因此,我需要帮助才能创建具有正确透明度效果的OpenGL图像。

    在创建OpenGL上下文时,您可能需要使用
    QGL::AlphaChannel
    启用alpha通道:
    QGLF格式;f、 setAlpha(真);QGLFormat::setDefaultFormat(f)我已经尝试设置alpha通道。但这并没有改变什么。这是我第一次尝试以RGBA格式创建QGlWidget。