diff options
Diffstat (limited to 'src/Authoring')
-rw-r--r-- | src/Authoring/Studio/Qt3DStudio.pro | 1 | ||||
-rw-r--r-- | src/Authoring/Studio/Render/StudioRenderer.cpp | 16 | ||||
-rw-r--r-- | src/Authoring/Studio/Render/StudioRendererTranslation.cpp | 3 |
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); } } |