summaryrefslogtreecommitdiffstats
path: root/src/Authoring
diff options
context:
space:
mode:
Diffstat (limited to 'src/Authoring')
-rw-r--r--src/Authoring/Studio/Qt3DStudio.pro1
-rw-r--r--src/Authoring/Studio/Render/StudioRenderer.cpp16
-rw-r--r--src/Authoring/Studio/Render/StudioRendererTranslation.cpp3
3 files changed, 19 insertions, 1 deletions
diff --git a/src/Authoring/Studio/Qt3DStudio.pro b/src/Authoring/Studio/Qt3DStudio.pro
index c1272d3e..04b8b0ec 100644
--- a/src/Authoring/Studio/Qt3DStudio.pro
+++ b/src/Authoring/Studio/Qt3DStudio.pro
@@ -21,6 +21,7 @@ win: QMAKE_LFLAGS += /MANIFEST /ENTRY:"wWinMainCRTStartup"
QT += core gui xml openglextensions
QT += qml quick widgets quickwidgets network
+QT += quick-private
# Configuration for RT1/RT2 preview. RT2 doesn't work yet so uset RT1.
QT += studio3d-private
diff --git a/src/Authoring/Studio/Render/StudioRenderer.cpp b/src/Authoring/Studio/Render/StudioRenderer.cpp
index c8888c13..d6b5b3b2 100644
--- a/src/Authoring/Studio/Render/StudioRenderer.cpp
+++ b/src/Authoring/Studio/Render/StudioRenderer.cpp
@@ -318,6 +318,13 @@ struct SRendererImpl : public IStudioRenderer,
m_RenderContext->GetRenderContext().GetStringTable()));
theCore->SetTextRendererCore(theTextRenderer);
+#if QT_VERSION >= QT_VERSION_CHECK(5,12,2)
+ ITextRendererCore &distanceFieldRenderer(
+ ITextRendererCore::createDistanceFieldRenderer(
+ m_RenderContext->GetRenderContext().GetFoundation()));
+ theCore->setDistanceFieldRenderer(distanceFieldRenderer);
+#endif
+
m_Context = theCore->CreateRenderContext(
m_RenderContext->GetRenderContext(),
m_RenderContext->GetRenderContext().GetStringTable().RegisterStr(
@@ -704,6 +711,8 @@ struct SRendererImpl : public IStudioRenderer,
void SetupTextRenderer()
{
if (m_Context.mPtr && m_Context->GetTextRenderer()) {
+ if (m_Context->getDistanceFieldRenderer())
+ m_Context->getDistanceFieldRenderer()->ClearProjectFontDirectories();
m_Context->GetTextRenderer()->ClearProjectFontDirectories();
QString projectPath = g_StudioApp.GetCore()->getProjectFile().getProjectPath();
if (!projectPath.isEmpty()) {
@@ -715,6 +724,13 @@ struct SRendererImpl : public IStudioRenderer,
m_Context->GetStringTable().RegisterStr(thePath.c_str()));
m_Context->GetTextRenderer()->AddProjectFontDirectory(
m_Context->GetStringTable().RegisterStr(projectPath.toLatin1().data()));
+ if (m_Context->getDistanceFieldRenderer()) {
+ m_Context->getDistanceFieldRenderer()->AddSystemFontDirectory(
+ m_Context->GetStringTable().RegisterStr(thePath.c_str()));
+ m_Context->getDistanceFieldRenderer()->AddProjectFontDirectory(
+ m_Context->GetStringTable().RegisterStr(
+ projectPath.toLatin1().data()));
+ }
}
}
}
diff --git a/src/Authoring/Studio/Render/StudioRendererTranslation.cpp b/src/Authoring/Studio/Render/StudioRendererTranslation.cpp
index 8887c571..73981d85 100644
--- a/src/Authoring/Studio/Render/StudioRendererTranslation.cpp
+++ b/src/Authoring/Studio/Render/StudioRendererTranslation.cpp
@@ -2888,7 +2888,8 @@ void STranslation::RenderZoomRender(SZoomRender &inRender)
theRenderContext.SetClearColor(QT3DSVec4(.2f, .2f, .2f, 0.0f));
theRenderContext.Clear(qt3ds::render::NVRenderClearFlags(
qt3ds::render::NVRenderClearValues::Color | qt3ds::render::NVRenderClearValues::Depth));
- theRenderer.RunLayerRender(*theLayer, thePickSetup->m_ViewProjection);
+ theRenderer.RunLayerRender(*theLayer, thePickSetup->m_ProjectionPreMultiply,
+ thePickSetup->m_ViewProjection);
theRenderContext.SetScissorTestEnabled(false);
}
}