summaryrefslogtreecommitdiffstats
path: root/src/render/frontend
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2015-03-27 16:50:28 +0100
committerSean Harmer <sean.harmer@kdab.com>2015-05-09 20:07:02 +0000
commit260ac1d2fd155b6df6fbfdc7019a78882a9c0dce (patch)
treee091d6e01656a2ae1b16274791269daa4f0ea756 /src/render/frontend
parente0f623685b0eff1c12c959dbca3b9753c86a0c89 (diff)
Added QBlendStateSeparate render state
Change-Id: Ifd7254c9a60df3043029229a568de72c0dd4e9fb Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/frontend')
-rw-r--r--src/render/frontend/qblendstate.cpp14
-rw-r--r--src/render/frontend/qblendstate.h8
-rw-r--r--src/render/frontend/qrenderstate.h1
3 files changed, 21 insertions, 2 deletions
diff --git a/src/render/frontend/qblendstate.cpp b/src/render/frontend/qblendstate.cpp
index 634e730e5..055cd948e 100644
--- a/src/render/frontend/qblendstate.cpp
+++ b/src/render/frontend/qblendstate.cpp
@@ -47,8 +47,8 @@ namespace Qt3D {
class QBlendStatePrivate : public QRenderStatePrivate
{
public:
- QBlendStatePrivate(QBlendState *qq)
- : QRenderStatePrivate(qq, QRenderState::BlendState)
+ QBlendStatePrivate(QBlendState *qq, QRenderState::Type type = QRenderState::BlendState)
+ : QRenderStatePrivate(qq, type)
, m_srcRGB(QBlendState::Zero)
, m_srcAlpha(QBlendState::Zero)
, m_dstRGB(QBlendState::Zero)
@@ -79,6 +79,11 @@ void QBlendState::copy(const QNode *ref)
d_func()->m_dstRGB = refState->d_func()->m_dstRGB;
}
+QBlendState::QBlendState(QRenderState::Type type, QNode *parent)
+ : QRenderState(*new QBlendStatePrivate(this, type), parent)
+{
+}
+
QBlendState::Blending QBlendState::srcRGB() const
{
Q_D(const QBlendState);
@@ -139,6 +144,11 @@ void QBlendState::setDstAlpha(QBlendState::Blending dstAlpha)
}
}
+QBlendStateSeparate::QBlendStateSeparate(QNode *parent)
+ : QBlendState(QRenderState::BlendStateSeparate, parent)
+{
+}
+
} // Qt3D
QT_END_NAMESPACE
diff --git a/src/render/frontend/qblendstate.h b/src/render/frontend/qblendstate.h
index 6284e668e..4f5924a3c 100644
--- a/src/render/frontend/qblendstate.h
+++ b/src/render/frontend/qblendstate.h
@@ -102,12 +102,20 @@ Q_SIGNALS:
protected:
void copy(const QNode *ref) Q_DECL_OVERRIDE;
+ QBlendState(QRenderState::Type type, QNode *parent = 0);
private:
Q_DECLARE_PRIVATE(QBlendState)
QT3D_CLONEABLE(QBlendState)
};
+class QT3DRENDERERSHARED_EXPORT QBlendStateSeparate : public QBlendState
+{
+ Q_OBJECT
+public:
+ explicit QBlendStateSeparate(QNode *parent = 0);
+};
+
} // Qt3D
QT_END_NAMESPACE
diff --git a/src/render/frontend/qrenderstate.h b/src/render/frontend/qrenderstate.h
index 1aef2d643..400507212 100644
--- a/src/render/frontend/qrenderstate.h
+++ b/src/render/frontend/qrenderstate.h
@@ -57,6 +57,7 @@ public:
AlphaTest,
BlendEquation,
BlendState,
+ BlendStateSeparate,
ColorMask,
CullFace,
DepthMask,