summaryrefslogtreecommitdiffstats
path: root/src/Runtime/ogl-runtime/src/engine/Qt3DSRenderRuntimeBindingImplRenderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Runtime/ogl-runtime/src/engine/Qt3DSRenderRuntimeBindingImplRenderer.cpp')
m---------src/Runtime/ogl-runtime0
-rw-r--r--src/Runtime/ogl-runtime/src/engine/Qt3DSRenderRuntimeBindingImplRenderer.cpp224
2 files changed, 0 insertions, 224 deletions
diff --git a/src/Runtime/ogl-runtime b/src/Runtime/ogl-runtime
new file mode 160000
+Subproject 2025912174c4cf99270b7439ec3b021e1d089ae
diff --git a/src/Runtime/ogl-runtime/src/engine/Qt3DSRenderRuntimeBindingImplRenderer.cpp b/src/Runtime/ogl-runtime/src/engine/Qt3DSRenderRuntimeBindingImplRenderer.cpp
deleted file mode 100644
index b41c83b9..00000000
--- a/src/Runtime/ogl-runtime/src/engine/Qt3DSRenderRuntimeBindingImplRenderer.cpp
+++ /dev/null
@@ -1,224 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 1993-2009 NVIDIA Corporation.
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of Qt 3D Studio.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "EnginePrefix.h"
-#include "Qt3DSRenderRuntimeBindingImpl.h"
-#include "Qt3DSRuntimeView.h"
-#include "Qt3DSWindowSystem.h"
-#include "Qt3DSRenderLoadedTexture.h"
-
-struct SRenderer;
-struct SRendererRSM : public Q3DStudio::ITegraRenderStateManager
-{
- SRenderer &m_Renderer;
-
-public:
- SRendererRSM(SRenderer &renderer)
- : m_Renderer(renderer)
- {
- }
-
- void SetViewport(Q3DStudio::INT32 inX, Q3DStudio::INT32 inY, Q3DStudio::INT32 inWidth,
- Q3DStudio::INT32 inHeight) override;
- void PushState() override;
- void PopState() override;
- void SetScissorTestEnabled(bool inValue) override;
- void SaveAllState() override;
- void RestoreAllState() override;
-};
-
-struct SRenderer : public Q3DStudio::ITegraApplicationRenderEngine
-{
- NVScopedRefCounted<SBindingCore> m_BindingCore;
- NVScopedRefCounted<IQt3DSRenderContext> m_Context;
- NVRenderRect m_Viewport;
- nvvector<NVRenderRect> m_StateStack;
- QSize m_PresentationDimensions;
- SRendererRSM m_RSM;
- Q3DStudio::IWindowSystem &m_WindowSystem;
-
- SRenderer(SBindingCore &inCore, Q3DStudio::IWindowSystem &inWindowSystem)
- : m_BindingCore(inCore)
- , m_Context(*inCore.m_Context)
- , m_StateStack(inCore.m_Context->GetAllocator(), "SRenderer::m_StateStack")
- , m_RSM(*this)
- , m_WindowSystem(inWindowSystem)
- {
- m_Context->SetSceneColor(QT3DSVec4(0, 0, 0, 0.0f));
- if (m_BindingCore->m_RenderContext) {
- m_BindingCore->m_RenderContext->SetDefaultRenderTarget(
- m_WindowSystem.GetDefaultRenderTargetID());
- m_BindingCore->m_RenderContext->SetDefaultDepthBufferBitCount(
- m_WindowSystem.GetDepthBitCount());
- }
- }
-
- void ensureRenderTarget() override
- {
- m_BindingCore->m_RenderContext->SetDefaultRenderTarget(
- m_WindowSystem.GetDefaultRenderTargetID());
- }
-
- void CheckResize(bool, Q3DStudio::IPresentation & /*inPresentation*/) override
- {
- QSize theWindowDims(m_WindowSystem.GetWindowDimensions());
- m_BindingCore->m_WindowDimensions = theWindowDims;
- m_BindingCore->m_Context->SetWindowDimensions(m_BindingCore->m_WindowDimensions);
- }
- Q3DStudio::BOOL LoadShaderCache(const char * /*inFilePath*/) override { return true; }
-
- void AbandonLoadingImages(Q3DStudio::IScene & /*inScene*/) override {}
-
- Q3DStudio::BOOL IsPickValid(Q3DStudio::FLOAT &outX, Q3DStudio::FLOAT &outY,
- const Q3DStudio::IPresentation & /*inPresentation*/) const override
- {
- Q3DStudio::FLOAT theX = outX;
- Q3DStudio::FLOAT theY = outY;
- theX = theX / static_cast<Q3DStudio::FLOAT>(m_BindingCore->m_WindowDimensions.width());
- theY = theY / static_cast<Q3DStudio::FLOAT>(m_BindingCore->m_WindowDimensions.height());
- Q3DStudio::BOOL theValid = false;
-
- if ((theX >= 0.0f) && (theY >= 0.0f) && (theX <= 1.0f) && (theY <= 1.0f))
- theValid = true;
- return theValid;
- }
-
- void SetScaleMode(Q3DStudio::TegraRenderScaleModes::Enum inScale) override
- {
- if (m_BindingCore && m_BindingCore->m_Context)
- m_BindingCore->m_Context->SetScaleMode(static_cast<ScaleModes::Enum>(inScale));
- }
- Q3DStudio::TegraRenderScaleModes::Enum GetScaleMode() const override
- {
- if (m_BindingCore && m_BindingCore->m_Context)
- return static_cast<Q3DStudio::TegraRenderScaleModes::Enum>(
- const_cast<SRenderer &>(*this).m_BindingCore->m_Context->GetScaleMode());
-
- QT3DS_ASSERT(false);
- return Q3DStudio::TegraRenderScaleModes::ExactSize;
- }
-
- void SetShadeMode(Q3DStudio::TegraRenderShadeModes::Enum inShade) override
- {
- if (m_BindingCore && m_BindingCore->m_Context) {
- m_BindingCore->m_Context->SetWireframeMode(
- (inShade == Q3DStudio::TegraRenderShadeModes::Shaded) ? false : true);
- }
- }
-
- void EnableRenderRotation(bool inEnable) override
- {
- m_BindingCore->m_RenderRotationsEnabled = inEnable;
- }
-
- void SetWriteOutShaderCache(bool inWriteOutShaderCache) override
- {
- m_BindingCore->m_WriteOutShaderCache = inWriteOutShaderCache;
- }
-
- Q3DStudio::ITegraRenderStateManager &GetTegraRenderStateManager() override { return m_RSM; }
- qt3ds::render::NVRenderContext &GetRenderContext() override
- {
- return *m_BindingCore->m_RenderContext;
- }
-
- void Release() override
- {
- // Ensure the core doesn't die until after we do.
- NVScopedRefCounted<SBindingCore> theContext(m_BindingCore);
- NVDelete(m_Context->GetAllocator(), this);
- }
-
- void SetViewport(Q3DStudio::INT32 inX, Q3DStudio::INT32 inY, Q3DStudio::INT32 inWidth,
- Q3DStudio::INT32 inHeight) override
- {
- m_Viewport = NVRenderRect(inX, inY, inWidth, inHeight);
- m_BindingCore->m_RenderContext->SetViewport(m_Viewport);
- }
- void SetApplicationViewport(const qt3ds::render::NVRenderRect &inViewport) override
- {
- m_BindingCore->m_Context->SetViewport(inViewport);
- }
-
- void SetMatteColor(Option<QT3DSVec4> inColor) override { m_Context->SetMatteColor(inColor); }
- virtual void PushState() { m_StateStack.push_back(m_Viewport); }
- virtual void PopState()
- {
- m_Viewport = m_StateStack.back();
- m_StateStack.pop_back();
- SetViewport(m_Viewport.m_X, m_Viewport.m_Y, m_Viewport.m_Width, m_Viewport.m_Height);
- }
-
- void RenderText2D(Q3DStudio::FLOAT x, Q3DStudio::FLOAT y,
- qt3ds::foundation::Option<qt3ds::QT3DSVec3> inColor, const char *text) override
- {
- m_Context->RenderText2D(x, y, inColor, text);
- }
-
- void RenderGpuProfilerStats(Q3DStudio::FLOAT x, Q3DStudio::FLOAT y,
- qt3ds::foundation::Option<qt3ds::QT3DSVec3> inColor) override
- {
- m_Context->RenderGpuProfilerStats(x, y, inColor);
- }
-};
-
-void SRendererRSM::SetViewport(Q3DStudio::INT32 inX, Q3DStudio::INT32 inY, Q3DStudio::INT32 inWidth,
- Q3DStudio::INT32 inHeight)
-{
- m_Renderer.SetViewport(inX, inY, inWidth, inHeight);
-}
-void SRendererRSM::PushState()
-{
- m_Renderer.PushState();
-}
-void SRendererRSM::PopState()
-{
- m_Renderer.PopState();
-}
-void SRendererRSM::SetScissorTestEnabled(bool inValue)
-{
- m_Renderer.m_BindingCore->m_RenderContext->SetScissorTestEnabled(inValue);
-}
-void SRendererRSM::SaveAllState()
-{
- m_Renderer.m_BindingCore->m_RenderContext->PushPropertySet();
-}
-void SRendererRSM::RestoreAllState()
-{
- m_Renderer.m_BindingCore->m_RenderContext->PopPropertySet(true);
-}
-
-Q3DStudio::ITegraApplicationRenderEngine &SBindingCore::CreateRenderer()
-{
- SRenderer *retval = NULL;
- if (m_Context)
- retval = QT3DS_NEW(m_Context->GetAllocator(), SRenderer)(*this, this->m_WindowSystem);
-
- return *retval;
-}