diff options
author | Laszlo Agocs <laszlo.agocs@theqtcompany.com> | 2016-04-11 14:49:12 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@theqtcompany.com> | 2016-04-13 09:22:16 +0000 |
commit | e188a3d864a5310bf18c3ad759a12560013deb64 (patch) | |
tree | 14be7dbedfc604833ad5e6e2abdcef7573e9cb95 /src/particles | |
parent | 05605d89f9db80bb748c16ea19c566ab0995027e (diff) |
Prefix GL-specific shader effect code
Rename the C++ sources and classes. The QML type name remains the same.
No changes in functionality.
The shader effect, node, material (and uniform animator and particles and
bits and pieces here and there...) are highly interconnected and do not
follow the usual design practices for Quick and the scenegraph and the
adaptation layer. Therefore while we aim for keeping full compatibility
for GL apps, other backends will likely get a different ShaderEffect item
implementation.
The C++ class QQuickShaderEffect itself is currently a dummy with an
unchanged API. It is not in use for now but forms the basis for the
implementation for other backends. This will be covered in future commits.
Change-Id: Ia39ce4b303f8f33e2f241d11e35fa62423e43127
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
Diffstat (limited to 'src/particles')
-rw-r--r-- | src/particles/qquickcustomparticle.cpp | 24 | ||||
-rw-r--r-- | src/particles/qquickcustomparticle_p.h | 18 |
2 files changed, 21 insertions, 21 deletions
diff --git a/src/particles/qquickcustomparticle.cpp b/src/particles/qquickcustomparticle.cpp index 32b2fd847e..ea8a25f5e6 100644 --- a/src/particles/qquickcustomparticle.cpp +++ b/src/particles/qquickcustomparticle.cpp @@ -237,7 +237,7 @@ void QQuickCustomParticle::reset() QSGNode *QQuickCustomParticle::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) { - QQuickShaderEffectNode *rootNode = static_cast<QQuickShaderEffectNode *>(oldNode); + QQuickOpenGLShaderEffectNode *rootNode = static_cast<QQuickOpenGLShaderEffectNode *>(oldNode); if (m_pleaseReset){ delete rootNode;//Automatically deletes children rootNode = 0; @@ -258,7 +258,7 @@ QSGNode *QQuickCustomParticle::updatePaintNode(QSGNode *oldNode, UpdatePaintNode return rootNode; } -QQuickShaderEffectNode *QQuickCustomParticle::prepareNextFrame(QQuickShaderEffectNode *rootNode) +QQuickOpenGLShaderEffectNode *QQuickCustomParticle::prepareNextFrame(QQuickOpenGLShaderEffectNode *rootNode) { if (!rootNode) rootNode = buildCustomNodes(); @@ -269,7 +269,7 @@ QQuickShaderEffectNode *QQuickCustomParticle::prepareNextFrame(QQuickShaderEffec if (m_dirtyProgram) { const bool isES = QOpenGLContext::currentContext()->isOpenGLES(); - QQuickShaderEffectMaterial *material = static_cast<QQuickShaderEffectMaterial *>(rootNode->material()); + QQuickOpenGLShaderEffectMaterial *material = static_cast<QQuickOpenGLShaderEffectMaterial *>(rootNode->material()); Q_ASSERT(material); Key s = m_common.source; @@ -294,7 +294,7 @@ QQuickShaderEffectNode *QQuickCustomParticle::prepareNextFrame(QQuickShaderEffec material->setProgramSource(s); material->attributes = m_common.attributes; - foreach (QQuickShaderEffectNode* node, m_nodes) + foreach (QQuickOpenGLShaderEffectNode* node, m_nodes) node->markDirty(QSGNode::DirtyMaterial); m_dirtyProgram = false; @@ -307,9 +307,9 @@ QQuickShaderEffectNode *QQuickCustomParticle::prepareNextFrame(QQuickShaderEffec return rootNode; } -QQuickShaderEffectNode* QQuickCustomParticle::buildCustomNodes() +QQuickOpenGLShaderEffectNode* QQuickCustomParticle::buildCustomNodes() { - typedef QHash<int, QQuickShaderEffectNode*>::const_iterator NodeHashConstIt; + typedef QHash<int, QQuickOpenGLShaderEffectNode*>::const_iterator NodeHashConstIt; if (!QOpenGLContext::currentContext()) return 0; @@ -327,14 +327,14 @@ QQuickShaderEffectNode* QQuickCustomParticle::buildCustomNodes() if (groups().isEmpty()) return 0; - QQuickShaderEffectNode *rootNode = 0; - QQuickShaderEffectMaterial *material = new QQuickShaderEffectMaterial; + QQuickOpenGLShaderEffectNode *rootNode = 0; + QQuickOpenGLShaderEffectMaterial *material = new QQuickOpenGLShaderEffectMaterial; m_dirtyProgram = true; for (auto groupId : groupIds()) { int count = m_system->groupData[groupId]->size(); - QQuickShaderEffectNode* node = new QQuickShaderEffectNode(); + QQuickOpenGLShaderEffectNode* node = new QQuickOpenGLShaderEffectNode(); m_nodes.insert(groupId, node); node->setMaterial(material); @@ -400,7 +400,7 @@ void QQuickCustomParticle::propertyChanged(int mappedId) } -void QQuickCustomParticle::buildData(QQuickShaderEffectNode *rootNode) +void QQuickCustomParticle::buildData(QQuickOpenGLShaderEffectNode *rootNode) { if (!rootNode) return; @@ -410,9 +410,9 @@ void QQuickCustomParticle::buildData(QQuickShaderEffectNode *rootNode) m_common.uniformData[shaderType][i].value = qVariantFromValue(m_lastTime); } } - m_common.updateMaterial(rootNode, static_cast<QQuickShaderEffectMaterial *>(rootNode->material()), + m_common.updateMaterial(rootNode, static_cast<QQuickOpenGLShaderEffectMaterial *>(rootNode->material()), m_dirtyUniforms, true, m_dirtyTextureProviders); - foreach (QQuickShaderEffectNode* node, m_nodes) + foreach (QQuickOpenGLShaderEffectNode* node, m_nodes) node->markDirty(QSGNode::DirtyMaterial); m_dirtyUniforms = m_dirtyUniformValues = m_dirtyTextureProviders = false; } diff --git a/src/particles/qquickcustomparticle_p.h b/src/particles/qquickcustomparticle_p.h index 25a3a1197c..d9690aa96a 100644 --- a/src/particles/qquickcustomparticle_p.h +++ b/src/particles/qquickcustomparticle_p.h @@ -51,8 +51,8 @@ // We mean it. // #include "qquickparticlepainter_p.h" -#include <private/qquickshadereffectnode_p.h> -#include <private/qquickshadereffect_p.h> +#include <private/qquickopenglshadereffectnode_p.h> +#include <private/qquickopenglshadereffect_p.h> #include <QSignalMapper> QT_BEGIN_NAMESPACE @@ -88,11 +88,11 @@ protected: virtual void commit(int gIdx, int pIdx); QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *); - QQuickShaderEffectNode *prepareNextFrame(QQuickShaderEffectNode *rootNode); + QQuickOpenGLShaderEffectNode *prepareNextFrame(QQuickOpenGLShaderEffectNode *rootNode); void reset(); void resize(int oldCount, int newCount); virtual void componentComplete(); - QQuickShaderEffectNode *buildCustomNodes(); + QQuickOpenGLShaderEffectNode *buildCustomNodes(); void sceneGraphInvalidated(); void itemChange(ItemChange change, const ItemChangeData &value); @@ -102,15 +102,15 @@ private Q_SLOTS: void propertyChanged(int mappedId); private: - typedef QQuickShaderEffectMaterialKey Key; - typedef QQuickShaderEffectMaterial::UniformData UniformData; + typedef QQuickOpenGLShaderEffectMaterialKey Key; + typedef QQuickOpenGLShaderEffectMaterial::UniformData UniformData; - void buildData(QQuickShaderEffectNode *rootNode); + void buildData(QQuickOpenGLShaderEffectNode *rootNode); void updateVertexShader(); - QQuickShaderEffectCommon m_common; + QQuickOpenGLShaderEffectCommon m_common; - QHash<int, QQuickShaderEffectNode*> m_nodes; + QHash<int, QQuickOpenGLShaderEffectNode*> m_nodes; qreal m_lastTime; uint m_dirtyUniforms : 1; |