-1
我在窗口上使用Qt5.4.2,並試圖實現一個QOpenGLWidget繼承的窗口小部件。 窗口應該能夠呈現透明和堅實,這意味着用戶應該能夠在程序中的兩個渲染之間切換。QOpenglWidget透明度變化的黑色屏幕
當我用Depth_test啓動程序時,它工作正常,當我啓動程序時混合它也能正常工作。但是:當我更改執行中的透明度時,當我切換回depth_test時,出現黑色窗口!當我切換回混合這是正常的再次 因此,只是當我將透明度更改爲depth_test時,問題發生。
我試着用舊的QGLWidget做同樣的事情:Works完美無缺,所以沒有黑色的窗口。
if (/transparent or not/)
{
glDisable(GL_DEPTH_TEST);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
} else
{
glDisable(GL_BLEND);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glEnable(GL_DEPTH_TEST);
}update();
有趣的還有以下:當我使GL_CULL_FACE: 我黑色的窗口,但是當我切換回透明度,我也有一半黑色窗口(對角線分隔)。