summaryrefslogtreecommitdiffstats
path: root/src/render/renderstates/renderstateset.cpp
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2016-03-16 16:52:16 +0100
committerSean Harmer <sean.harmer@kdab.com>2016-03-20 14:38:39 +0000
commit866b18557becde815d93cf0d5b01fa31b6a9cfa3 (patch)
treeb891967842a36aed888945dcb030d2c4d2653d7a /src/render/renderstates/renderstateset.cpp
parentd459685dce68357ff504e1f83a31f8b570dc507c (diff)
QRenderState cleanup
Change-Id: Ie4ae9a2d17c05594dd2bddde85abf73f7ffbd686 Task-number: QTBUG-51430 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render/renderstates/renderstateset.cpp')
-rw-r--r--src/render/renderstates/renderstateset.cpp41
1 files changed, 21 insertions, 20 deletions
diff --git a/src/render/renderstates/renderstateset.cpp b/src/render/renderstates/renderstateset.cpp
index a833a81a4..3ac9d7a57 100644
--- a/src/render/renderstates/renderstateset.cpp
+++ b/src/render/renderstates/renderstateset.cpp
@@ -47,6 +47,7 @@
#include <Qt3DRender/private/graphicscontext_p.h>
#include <Qt3DRender/private/renderstates_p.h>
+#include <Qt3DRender/private/qrenderstate_p.h>
#include <Qt3DRender/qalphacoverage.h>
#include <Qt3DRender/qalphatest.h>
@@ -259,16 +260,16 @@ bool RenderStateSet::contains(RenderStateImpl *ds) const
RenderStateImpl* RenderStateImpl::getOrCreateState(QRenderState *renderState)
{
- switch (renderState->type()) {
- case QRenderState::AlphaTest: {
+ switch (QRenderStatePrivate::get(renderState)->m_type) {
+ case QRenderStatePrivate::AlphaTest: {
QAlphaTest *alphaTest = static_cast<QAlphaTest *>(renderState);
return getOrCreateRenderStateImpl<AlphaFunc>(alphaTest->alphaFunction(), alphaTest->referenceValue());
}
- case QRenderState::BlendEquation: {
+ case QRenderStatePrivate::BlendEquation: {
QBlendEquation *blendEquation = static_cast<QBlendEquation *>(renderState);
return getOrCreateRenderStateImpl<BlendEquation>(blendEquation->blendFunction());
}
- case QRenderState::BlendEquationArguments: {
+ case QRenderStatePrivate::BlendEquationArguments: {
QBlendEquationArguments *blendState = static_cast<QBlendEquationArguments *>(renderState);
// just use the same values for RGB and Alpha
return getOrCreateRenderStateImpl<BlendEquationArguments>(blendState->sourceRgb(), blendState->destinationRgb(),
@@ -276,39 +277,39 @@ RenderStateImpl* RenderStateImpl::getOrCreateState(QRenderState *renderState)
blendState->isEnabled(),
blendState->bufferIndex());
}
- case QRenderState::BlendStateSeparate: {
+ case QRenderStatePrivate::BlendStateSeparate: {
QBlendEquationArguments *blendState = static_cast<QBlendEquationArguments *>(renderState);
return getOrCreateRenderStateImpl<BlendEquationArguments>(blendState->sourceRgb(), blendState->destinationRgb(),
blendState->sourceAlpha(), blendState->destinationAlpha(),
blendState->isEnabled(),
blendState->bufferIndex());
}
- case QRenderState::CullFace: {
+ case QRenderStatePrivate::CullFace: {
QCullFace *cullFace = static_cast<QCullFace *>(renderState);
return getOrCreateRenderStateImpl<CullFace>(cullFace->mode());
}
- case QRenderState::DepthMask: {
+ case QRenderStatePrivate::DepthMask: {
QDepthMask *depthMask = static_cast<QDepthMask *>(renderState);
return getOrCreateRenderStateImpl<DepthMask>(depthMask->mask());
}
- case QRenderState::DepthTest: {
+ case QRenderStatePrivate::DepthTest: {
QDepthTest *depthTest = static_cast<QDepthTest *>(renderState);
return getOrCreateRenderStateImpl<DepthTest>(depthTest->depthFunction());
}
- case QRenderState::AlphaCoverage:
- case QRenderState::Dithering:
- case QRenderState::FrontFace: {
+ case QRenderStatePrivate::AlphaCoverage:
+ case QRenderStatePrivate::Dithering:
+ case QRenderStatePrivate::FrontFace: {
QFrontFace *frontFace = static_cast<QFrontFace *>(renderState);
return getOrCreateRenderStateImpl<FrontFace>(frontFace->direction());
}
- case QRenderState::ScissorTest: {
+ case QRenderStatePrivate::ScissorTest: {
QScissorTest *scissorTest = static_cast<QScissorTest *>(renderState);
return getOrCreateRenderStateImpl<ScissorTest>(scissorTest->left(),
scissorTest->bottom(),
scissorTest->width(),
scissorTest->height());
}
- case QRenderState::StencilTest: {
+ case QRenderStatePrivate::StencilTest: {
QStencilTest *stencilTest = static_cast<QStencilTest *>(renderState);
return getOrCreateRenderStateImpl<StencilTest>(stencilTest->front()->stencilFunction(),
stencilTest->front()->referenceValue(),
@@ -317,41 +318,41 @@ RenderStateImpl* RenderStateImpl::getOrCreateState(QRenderState *renderState)
stencilTest->back()->referenceValue(),
stencilTest->back()->comparisonMask());
}
- case QRenderState::PointSize: {
+ case QRenderStatePrivate::PointSize: {
QPointSize *pointSize = static_cast<QPointSize *>(renderState);
const bool isProgrammable = (pointSize->sizeMode() == QPointSize::Programmable);
return getOrCreateRenderStateImpl<PointSize>(isProgrammable, pointSize->value());
}
- case QRenderState::PolygonOffset: {
+ case QRenderStatePrivate::PolygonOffset: {
QPolygonOffset *polygonOffset = static_cast<QPolygonOffset *>(renderState);
return getOrCreateRenderStateImpl<PolygonOffset>(polygonOffset->scaleFactor(),
polygonOffset->depthSteps());
}
- case QRenderState::ColorMask: {
+ case QRenderStatePrivate::ColorMask: {
QColorMask *colorMask = static_cast<QColorMask *>(renderState);
return getOrCreateRenderStateImpl<ColorMask>(colorMask->isRedMasked(),
colorMask->isGreenMasked(),
colorMask->isBlueMasked(),
colorMask->isAlphaMasked());
}
- case QRenderState::ClipPlane: {
+ case QRenderStatePrivate::ClipPlane: {
QClipPlane *clipPlane = static_cast<QClipPlane *>(renderState);
return getOrCreateRenderStateImpl<ClipPlane>(clipPlane->planeIndex(),
clipPlane->normal(),
clipPlane->distance());
}
- case QRenderState::SeamlessCubemap: {
+ case QRenderStatePrivate::SeamlessCubemap: {
QSeamlessCubemap *seamlessCubemap = static_cast<QSeamlessCubemap *>(renderState);
return getOrCreateRenderStateImpl<SeamlessCubemap>(seamlessCubemap->isEnabled());
}
- case QRenderState::StencilOp: {
+ case QRenderStatePrivate::StencilOp: {
QStencilOperation *stencilOp = static_cast<QStencilOperation *>(renderState);
const QStencilOperationArguments *front = stencilOp->front();
const QStencilOperationArguments *back = stencilOp->back();
return getOrCreateRenderStateImpl<StencilOp>(front->stencilTestFailureOperation(), front->depthTestFailureOperation(), front->allTestsPassOperation(),
back->stencilTestFailureOperation(), back->depthTestFailureOperation(), back->allTestsPassOperation());
}
- case QRenderState::StencilMask: {
+ case QRenderStatePrivate::StencilMask: {
QStencilMask *stencilMask = static_cast<QStencilMask *>(renderState);
return getOrCreateRenderStateImpl<StencilMask>(stencilMask->frontOutputMask(), stencilMask->backOutputMask());
}