summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/runtimerender/rendererimpl/Qt3DSRenderableObjects.cpp6
-rw-r--r--src/runtimerender/rendererimpl/Qt3DSRenderableObjects.h5
-rw-r--r--src/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.cpp4
3 files changed, 10 insertions, 5 deletions
diff --git a/src/runtimerender/rendererimpl/Qt3DSRenderableObjects.cpp b/src/runtimerender/rendererimpl/Qt3DSRenderableObjects.cpp
index e3b570d..712214a 100644
--- a/src/runtimerender/rendererimpl/Qt3DSRenderableObjects.cpp
+++ b/src/runtimerender/rendererimpl/Qt3DSRenderableObjects.cpp
@@ -489,12 +489,14 @@ namespace render {
#if QT_VERSION >= QT_VERSION_CHECK(5,12,2)
void SDistanceFieldRenderable::Render(const QT3DSVec2 &inCameraVec)
{
- m_distanceFieldText.renderText(m_text, m_mvp);
+ if (!m_Generator.alphaTestEnabled())
+ m_distanceFieldText.renderText(m_text, m_mvp);
}
void SDistanceFieldRenderable::RenderDepthPass(const QT3DSVec2 &inCameraVec)
{
- m_distanceFieldText.renderTextDepth(m_text, m_mvp);
+ if (!m_Generator.alphaTestEnabled())
+ m_distanceFieldText.renderTextDepth(m_text, m_mvp);
}
#endif
diff --git a/src/runtimerender/rendererimpl/Qt3DSRenderableObjects.h b/src/runtimerender/rendererimpl/Qt3DSRenderableObjects.h
index f79b169..6dbc624 100644
--- a/src/runtimerender/rendererimpl/Qt3DSRenderableObjects.h
+++ b/src/runtimerender/rendererimpl/Qt3DSRenderableObjects.h
@@ -408,14 +408,17 @@ namespace render {
#if QT_VERSION >= QT_VERSION_CHECK(5,12,2)
struct SDistanceFieldRenderable : public SRenderableObject
{
+ Qt3DSRendererImpl &m_Generator;
Q3DSDistanceFieldRenderer &m_distanceFieldText;
QT3DSMat44 m_mvp;
SText &m_text;
SDistanceFieldRenderable(SRenderableObjectFlags flags, QT3DSVec3 worldCenterPt,
- SText &text, const NVBounds3 &bounds, const QT3DSMat44 &mvp,
+ Qt3DSRendererImpl &gen, SText &text, const NVBounds3 &bounds,
+ const QT3DSMat44 &mvp,
Q3DSDistanceFieldRenderer &distanceFieldText)
: SRenderableObject(flags, worldCenterPt, text.m_GlobalTransform, bounds)
+ , m_Generator(gen)
, m_distanceFieldText(distanceFieldText)
, m_mvp(mvp)
, m_text(text)
diff --git a/src/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.cpp b/src/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.cpp
index 04bc4ae..3016ad6 100644
--- a/src/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.cpp
+++ b/src/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.cpp
@@ -393,8 +393,8 @@ namespace render {
m_Renderer.GetQt3DSContext().getDistanceFieldRenderer());
distanceFieldText->buildShaders();
theRenderable = RENDER_FRAME_NEW(SDistanceFieldRenderable)(
- theFlags, inText.GetGlobalPos(), inText, inText.m_Bounds, theMVP,
- *distanceFieldText);
+ theFlags, inText.GetGlobalPos(), m_Renderer, inText, inText.m_Bounds,
+ theMVP, *distanceFieldText);
} else
#endif
{