diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2016-01-16 19:14:04 +0000 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-01-17 17:19:19 +0000 |
commit | 47decd5d71a98d11cc5ff71f5a5e4648998d1d6b (patch) | |
tree | 7469a649f9ce1713c8a3cf9820d7e85dd881fa78 /src/render/defaults/qphongmaterial.cpp | |
parent | b0404a42ced2ea5a583e1c6ddc22940ffdc1e48e (diff) |
Add annotation to QPhongMaterial
Allows technique selector in QForwardRenderer to select from the
available techniques rather than excluding them all.
Change-Id: Ia044f3ccdf15e012b52d519fad5f0415592046fe
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render/defaults/qphongmaterial.cpp')
-rw-r--r-- | src/render/defaults/qphongmaterial.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/render/defaults/qphongmaterial.cpp b/src/render/defaults/qphongmaterial.cpp index 97612078a..dd9ebd20e 100644 --- a/src/render/defaults/qphongmaterial.cpp +++ b/src/render/defaults/qphongmaterial.cpp @@ -36,6 +36,7 @@ #include "qphongmaterial.h" #include "qphongmaterial_p.h" +#include <Qt3DRender/qannotation.h> #include <Qt3DRender/qmaterial.h> #include <Qt3DRender/qeffect.h> #include <Qt3DRender/qtechnique.h> @@ -70,6 +71,7 @@ QPhongMaterialPrivate::QPhongMaterialPrivate() , m_phongES2RenderPass(new QRenderPass()) , m_phongGL3Shader(new QShaderProgram()) , m_phongGL2ES2Shader(new QShaderProgram()) + , m_annotation(new QAnnotation) { } @@ -85,6 +87,7 @@ void QPhongMaterialPrivate::init() connect(m_shininessParameter, &Qt3DRender::QParameter::valueChanged, this, &QPhongMaterialPrivate::handleShininessChanged); + m_phongGL3Shader->setVertexShaderCode(QShaderProgram::loadSource(QUrl(QStringLiteral("qrc:/shaders/gl3/phong.vert")))); m_phongGL3Shader->setFragmentShaderCode(QShaderProgram::loadSource(QUrl(QStringLiteral("qrc:/shaders/gl3/phong.frag")))); m_phongGL2ES2Shader->setVertexShaderCode(QShaderProgram::loadSource(QUrl(QStringLiteral("qrc:/shaders/es2/phong.vert")))); @@ -113,6 +116,15 @@ void QPhongMaterialPrivate::init() m_phongGL2Technique->addPass(m_phongGL2RenderPass); m_phongES2Technique->addPass(m_phongES2RenderPass); + Q_Q(QPhongMaterial); + m_annotation->setParent(q); + m_annotation->setName(QStringLiteral("renderingStyle")); + m_annotation->setValue("forward"); + + m_phongGL3Technique->addAnnotation(m_annotation); + m_phongGL2Technique->addAnnotation(m_annotation); + m_phongES2Technique->addAnnotation(m_annotation); + m_phongEffect->addTechnique(m_phongGL3Technique); m_phongEffect->addTechnique(m_phongGL2Technique); m_phongEffect->addTechnique(m_phongES2Technique); @@ -122,7 +134,7 @@ void QPhongMaterialPrivate::init() m_phongEffect->addParameter(m_specularParameter); m_phongEffect->addParameter(m_shininessParameter); - q_func()->setEffect(m_phongEffect); + q->setEffect(m_phongEffect); } void QPhongMaterialPrivate::handleAmbientChanged(const QVariant &var) |