diff options
Diffstat (limited to 'src/Runtime/Source/runtimerender/rendererimpl')
8 files changed, 16 insertions, 32 deletions
diff --git a/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRenderableObjects.cpp b/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRenderableObjects.cpp index f2f260fd..fff7e32f 100644 --- a/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRenderableObjects.cpp +++ b/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRenderableObjects.cpp @@ -434,12 +434,12 @@ namespace render { #if QT_VERSION >= QT_VERSION_CHECK(5,12,2) void SDistanceFieldRenderable::Render(const QT3DSVec2 &inCameraVec) { - m_distanceFieldText.renderText(m_text, m_mvp, m_modelView); + m_distanceFieldText.renderText(m_text, m_mvp); } void SDistanceFieldRenderable::RenderDepthPass(const QT3DSVec2 &inCameraVec) { - m_distanceFieldText.renderTextDepth(m_text, m_mvp, m_modelView); + m_distanceFieldText.renderTextDepth(m_text, m_mvp); } #endif diff --git a/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRenderableObjects.h b/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRenderableObjects.h index deca9c47..39e73e8e 100644 --- a/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRenderableObjects.h +++ b/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRenderableObjects.h @@ -399,17 +399,14 @@ namespace render { { Q3DSDistanceFieldRenderer &m_distanceFieldText; QT3DSMat44 m_mvp; - QT3DSMat44 m_modelView; SText &m_text; SDistanceFieldRenderable(SRenderableObjectFlags flags, QT3DSVec3 worldCenterPt, - SText &text, const NVBounds3 &bounds, - const QT3DSMat44 &mvp, const QT3DSMat44 &modelView, + SText &text, const NVBounds3 &bounds, const QT3DSMat44 &mvp, Q3DSDistanceFieldRenderer &distanceFieldText) : SRenderableObject(flags, worldCenterPt, text.m_GlobalTransform, bounds) , m_distanceFieldText(distanceFieldText) , m_mvp(mvp) - , m_modelView(modelView) , m_text(text) { m_RenderableFlags.SetDefaultMaterialMeshSubset(false); diff --git a/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImpl.cpp b/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImpl.cpp index 9afb255c..4c214b97 100644 --- a/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImpl.cpp +++ b/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImpl.cpp @@ -971,15 +971,14 @@ namespace render { } // This doesn't have to be cheap. - void Qt3DSRendererImpl::RunLayerRender(SLayer &inLayer, const QT3DSMat44 &inProjection, - const QT3DSMat44 &inViewProjection) + void Qt3DSRendererImpl::RunLayerRender(SLayer &inLayer, const QT3DSMat44 &inViewProjection) { SLayerRenderData *theData = GetOrCreateLayerRenderDataForNode(inLayer); if (theData == NULL || theData->m_Camera == NULL) { QT3DS_ASSERT(false); return; } - theData->PrepareAndRender(inProjection, inViewProjection); + theData->PrepareAndRender(inViewProjection); } void Qt3DSRendererImpl::AddRenderWidget(IRenderWidget &inWidget) diff --git a/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImpl.h b/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImpl.h index 67130904..fd2c349c 100644 --- a/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImpl.h +++ b/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImpl.h @@ -365,8 +365,7 @@ namespace render { Option<NVRenderRectF> GetLayerRect(SLayer &inLayer) override; - void RunLayerRender(SLayer &inLayer, const QT3DSMat44 &inProjection, - const QT3DSMat44 &inViewProjection) override; + void RunLayerRender(SLayer &inLayer, const QT3DSMat44 &inViewProjection) override; // Note that this allocator is completely reset on BeginFrame. NVAllocatorCallback &GetPerFrameAllocator() override diff --git a/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderData.cpp b/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderData.cpp index eb1563ee..362a6027 100644 --- a/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderData.cpp +++ b/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderData.cpp @@ -2157,8 +2157,7 @@ namespace render { m_BoundingRectColor.setEmpty(); } - void SLayerRenderData::PrepareAndRender(const QT3DSMat44 &inProjection, - const QT3DSMat44 &inViewProjection) + void SLayerRenderData::PrepareAndRender(const QT3DSMat44 &inViewProjection) { TRenderableObjectList theTransparentObjects(m_TransparentObjects); TRenderableObjectList theOpaqueObjects(m_OpaqueObjects); @@ -2166,7 +2165,7 @@ namespace render { theOpaqueObjects.clear(); m_ModelContexts.clear(); SLayerRenderPreparationResultFlags theFlags; - PrepareRenderablesForRender(inProjection, inViewProjection, Empty(), 1.0, theFlags); + PrepareRenderablesForRender(inViewProjection, Empty(), 1.0, theFlags); RenderDepthPass(false); Render(); } diff --git a/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderData.h b/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderData.h index 6716eada..4e237b0b 100644 --- a/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderData.h +++ b/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderData.h @@ -153,7 +153,7 @@ struct AdvancedBlendModes // layer setup system. This assumes the client has setup the viewport, scissor, and render // target // the way they want them. - void PrepareAndRender(const QT3DSMat44 &inProjection, const QT3DSMat44 &inViewProjection); + void PrepareAndRender(const QT3DSMat44 &inViewProjection); SOffscreenRendererEnvironment CreateOffscreenRenderEnvironment() override; IRenderTask &CreateRenderToTextureRunnable() override; diff --git a/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.cpp b/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.cpp index a6e6b14f..72908544 100644 --- a/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.cpp +++ b/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.cpp @@ -362,7 +362,7 @@ namespace render { } bool SLayerRenderPreparationData::PrepareTextForRender( - SText &inText, const QT3DSMat44 &inProjection, const QT3DSMat44 &inViewProjection, + SText &inText, const QT3DSMat44 &inViewProjection, QT3DSF32 inTextScaleFactor, SLayerRenderPreparationResultFlags &ioFlags) { ITextTextureCache *theTextRenderer = m_Renderer.GetQt3DSContext().GetTextureCache(); @@ -385,14 +385,12 @@ namespace render { SRenderableObject *theRenderable = nullptr; #if QT_VERSION >= QT_VERSION_CHECK(5,12,2) - QT3DSMat44 modelView = (inProjection.getInverse() * inViewProjection) - * inText.m_GlobalTransform; Q3DSDistanceFieldRenderer *distanceFieldText = static_cast<Q3DSDistanceFieldRenderer *>( m_Renderer.GetQt3DSContext().getDistanceFieldRenderer()); theRenderable = RENDER_FRAME_NEW(SDistanceFieldRenderable)( theFlags, inText.GetGlobalPos(), inText, inText.m_Bounds, theMVP, - modelView, *distanceFieldText); + *distanceFieldText); #else TTPathObjectAndTexture theResult = theTextRenderer->RenderText(inText, inTextScaleFactor); @@ -1016,13 +1014,11 @@ namespace render { } bool SLayerRenderPreparationData::PrepareRenderablesForRender( - const QT3DSMat44 &inProjection, const QT3DSMat44 &inViewProjection, - const Option<SClippingFrustum> &inClipFrustum, + const QT3DSMat44 &inViewProjection, const Option<SClippingFrustum> &inClipFrustum, QT3DSF32 inTextScaleFactor, SLayerRenderPreparationResultFlags &ioFlags) { SStackPerfTimer __timer(m_Renderer.GetQt3DSContext().GetPerfTimer(), "SLayerRenderData::PrepareRenderablesForRender"); - m_projection = inProjection; m_ViewProjection = inViewProjection; QT3DSF32 theTextScaleFactor = inTextScaleFactor; bool wasDataDirty = false; @@ -1046,8 +1042,7 @@ namespace render { SText *theText = static_cast<SText *>(theNode); theText->CalculateGlobalVariables(); if (theText->m_Flags.IsGloballyActive()) { - bool wasTextDirty = PrepareTextForRender(*theText, inProjection, - inViewProjection, + bool wasTextDirty = PrepareTextForRender(*theText, inViewProjection, theTextScaleFactor, ioFlags); wasDataDirty = wasDataDirty || wasTextDirty; } @@ -1369,7 +1364,6 @@ namespace render { QT3DSF32 theTextScaleFactor = 1.0f; if (m_Camera) { - m_projection = m_Camera->m_Projection; m_Camera->CalculateViewProjectionMatrix(m_ViewProjection); theTextScaleFactor = m_Camera->GetTextScaleFactor( thePrepResult.GetLayerToPresentationViewport(), @@ -1386,7 +1380,6 @@ namespace render { // constructor. m_ClippingFrustum = SClippingFrustum(m_ViewProjection, nearPlane); } else { - m_projection = QT3DSMat44::createIdentity(); m_ViewProjection = QT3DSMat44::createIdentity(); } @@ -1400,7 +1393,7 @@ namespace render { m_ModelContexts.clear(); if (GetOffscreenRenderer() == false) { bool renderablesDirty = - PrepareRenderablesForRender(m_projection, m_ViewProjection, + PrepareRenderablesForRender(m_ViewProjection, m_ClippingFrustum, theTextScaleFactor, thePrepResult.m_Flags); wasDataDirty = wasDataDirty || renderablesDirty; diff --git a/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.h b/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.h index 05923e7f..5b8d6e10 100644 --- a/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.h +++ b/src/Runtime/Source/runtimerender/rendererimpl/Qt3DSRendererImplLayerRenderPreparationData.h @@ -270,7 +270,6 @@ namespace render { TRenderableObjectList m_RenderedOpaqueObjects; TRenderableObjectList m_RenderedTransparentObjects; QT3DSMat44 m_ViewProjection; - QT3DSMat44 m_projection; SClippingFrustum m_ClippingFrustum; Option<SLayerRenderPreparationResult> m_LayerPrepResult; // Widgets drawn at particular times during the rendering process @@ -325,16 +324,14 @@ namespace render { const Option<SClippingFrustum> &inClipFrustum, TNodeLightEntryList &inScopedLights); - bool PrepareTextForRender(SText &inText, const QT3DSMat44 &inProjection, - const QT3DSMat44 &inViewProjection, + bool PrepareTextForRender(SText &inText, const QT3DSMat44 &inViewProjection, QT3DSF32 inTextScaleFactor, SLayerRenderPreparationResultFlags &ioFlags); bool PreparePathForRender(SPath &inPath, const QT3DSMat44 &inViewProjection, const Option<SClippingFrustum> &inClipFrustum, SLayerRenderPreparationResultFlags &ioFlags); // Helper function used during PRepareForRender and PrepareAndRender - bool PrepareRenderablesForRender(const QT3DSMat44 &inProjection, - const QT3DSMat44 &inViewProjection, + bool PrepareRenderablesForRender(const QT3DSMat44 &inViewProjection, const Option<SClippingFrustum> &inClipFrustum, QT3DSF32 inTextScaleFactor, SLayerRenderPreparationResultFlags &ioFlags); |