diff options
Diffstat (limited to 'examples/quick/scenegraph/rendernode/openglrenderer.cpp')
-rw-r--r-- | examples/quick/scenegraph/rendernode/openglrenderer.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/examples/quick/scenegraph/rendernode/openglrenderer.cpp b/examples/quick/scenegraph/rendernode/openglrenderer.cpp index a4e619bea9..80806d51d1 100644 --- a/examples/quick/scenegraph/rendernode/openglrenderer.cpp +++ b/examples/quick/scenegraph/rendernode/openglrenderer.cpp @@ -158,6 +158,10 @@ void OpenGLRenderNode::render(const RenderState *state) f->glEnable(GL_BLEND); f->glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + // Regardless of flags() returning DepthAwareRendering or not, + // we have to test against what's in the depth buffer already. + f->glEnable(GL_DEPTH_TEST); + // Clip support. if (state->scissorEnabled()) { f->glEnable(GL_SCISSOR_TEST); @@ -177,7 +181,7 @@ void OpenGLRenderNode::render(const RenderState *state) //! [4] QSGRenderNode::StateFlags OpenGLRenderNode::changedStates() const { - return BlendState | ScissorState | StencilState; + return BlendState | ScissorState | StencilState | DepthState; } QSGRenderNode::RenderingFlags OpenGLRenderNode::flags() const |