diff options
Diffstat (limited to 'src/quick/scenegraph/coreapi/qsgrenderer.cpp')
-rw-r--r-- | src/quick/scenegraph/coreapi/qsgrenderer.cpp | 32 |
1 files changed, 6 insertions, 26 deletions
diff --git a/src/quick/scenegraph/coreapi/qsgrenderer.cpp b/src/quick/scenegraph/coreapi/qsgrenderer.cpp index 216c32f027..3c9c353bd8 100644 --- a/src/quick/scenegraph/coreapi/qsgrenderer.cpp +++ b/src/quick/scenegraph/coreapi/qsgrenderer.cpp @@ -46,6 +46,7 @@ #include "qsggeometry_p.h" #include <private/qsgadaptationlayer_p.h> +#include <private/qsgshadersourcebuilder_p.h> #include <QOpenGLShaderProgram> #include <qopenglframebufferobject.h> @@ -133,7 +134,7 @@ void QSGBindableFboId::bind() const */ -QSGRenderer::QSGRenderer(QSGContext *context) +QSGRenderer::QSGRenderer(QSGRenderContext *context) : QObject() , m_clear_color(Qt::transparent) , m_clear_mode(ClearColorBuffer | ClearDepthBuffer) @@ -162,20 +163,6 @@ QSGRenderer::~QSGRenderer() } /*! - Returns the scene graph context for this renderer. - - \internal - */ - -QSGContext *QSGRenderer::context() -{ - return m_context; -} - - - - -/*! Returns the node updater that this renderer uses to update states in the scene graph. @@ -398,7 +385,6 @@ void QSGRenderer::preprocess() preprocessTime = frameTimer.nsecsElapsed(); #endif - nodeUpdater()->setToplevelOpacity(context()->renderAlpha()); nodeUpdater()->updateStates(m_root_node); #ifndef QSG_NO_RENDER_TIMING @@ -496,16 +482,10 @@ QSGRenderer::ClipType QSGRenderer::updateStencilClip(const QSGClipNode *clip) } else { if (!(clipType & StencilClip)) { if (!m_clip_program.isLinked()) { - m_clip_program.addShaderFromSourceCode(QOpenGLShader::Vertex, - "attribute highp vec4 vCoord; \n" - "uniform highp mat4 matrix; \n" - "void main() { \n" - " gl_Position = matrix * vCoord; \n" - "}"); - m_clip_program.addShaderFromSourceCode(QOpenGLShader::Fragment, - "void main() { \n" - " gl_FragColor = vec4(0.81, 0.83, 0.12, 1.0); \n" // Trolltech green ftw! - "}"); + QSGShaderSourceBuilder::initializeProgramFromFiles( + &m_clip_program, + QStringLiteral(":/scenegraph/shaders/stencilclip.vert"), + QStringLiteral(":/scenegraph/shaders/stencilclip.frag")); m_clip_program.bindAttributeLocation("vCoord", 0); m_clip_program.link(); m_clip_matrix_id = m_clip_program.uniformLocation("matrix"); |