diff options
Diffstat (limited to 'src')
10 files changed, 3 insertions, 230 deletions
diff --git a/src/plugins/renderers/opengl/renderer/renderview.cpp b/src/plugins/renderers/opengl/renderer/renderview.cpp index bcb44d9ec..36d7002b8 100644 --- a/src/plugins/renderers/opengl/renderer/renderview.cpp +++ b/src/plugins/renderers/opengl/renderer/renderview.cpp @@ -308,7 +308,7 @@ void RenderView::setRenderViewConfigFromFrameGraphLeafNode(RenderView *rv, const RenderTarget *renderTarget = manager->renderTargetManager()->data(renderTargetHandle); if (renderTarget) - rv->setAttachmentPack(AttachmentPack(renderTarget, manager->attachmentManager(), targetSelector->outputs())); + rv->setAttachmentPack(AttachmentPack(renderTarget, manager->attachmentManager())); } break; } diff --git a/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp b/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp index 64c6d6f68..a8492a80e 100644 --- a/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp +++ b/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp @@ -131,7 +131,6 @@ #include <Qt3DQuickRender/private/quick3drenderpass_p.h> #include <Qt3DQuickRender/private/quick3drenderpassfilter_p.h> #include <Qt3DQuickRender/private/quick3drendertargetoutput_p.h> -#include <Qt3DQuickRender/private/quick3drendertargetselector_p.h> #include <Qt3DQuickRender/private/quick3dscene_p.h> #include <Qt3DQuickRender/private/quick3dshaderdata_p.h> #include <Qt3DQuickRender/private/quick3dshaderdataarray_p.h> @@ -257,7 +256,7 @@ void Qt3DQuick3DRenderPlugin::registerTypes(const char *uri) Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTechniqueFilter, Qt3DRender::Render::Quick::Quick3DTechniqueFilter>("QTechniqueFilter", "Qt3D.Render/TechniqueFilter", uri, 2, 0, "TechniqueFilter"); Qt3DRender::Quick::registerExtendedType<Qt3DRender::QViewport, Qt3DRender::Render::Quick::Quick3DViewport>("QViewport", "Qt3D.Render/Viewport", uri, 2, 0, "Viewport"); qmlRegisterType<Qt3DRender::QViewport, 9>(uri, 2, 9, "Viewport"); - Qt3DRender::Quick::registerExtendedType<Qt3DRender::QRenderTargetSelector, Qt3DRender::Render::Quick::Quick3DRenderTargetSelector>("QRenderTargetSelector", "Qt3D.Render/RenderTargetSelector", uri, 2, 0, "RenderTargetSelector"); + qmlRegisterType<Qt3DRender::QRenderTargetSelector>(uri, 2, 0, "RenderTargetSelector"); qmlRegisterType<Qt3DRender::QClearBuffers>(uri, 2, 0, "ClearBuffers"); qmlRegisterType<Qt3DRender::QFrameGraphNode>(uri, 2, 0, "FrameGraphNode"); Qt3DRender::Quick::registerExtendedType<Qt3DRender::QRenderStateSet, Qt3DRender::Render::Quick::Quick3DStateSet>("QRenderStateSet", "Qt3D.Render/RenderStateSet", uri, 2, 0, "RenderStateSet"); diff --git a/src/quick3d/quick3drender/CMakeLists.txt b/src/quick3d/quick3drender/CMakeLists.txt index 4e52b3a6a..f38f282cc 100644 --- a/src/quick3d/quick3drender/CMakeLists.txt +++ b/src/quick3d/quick3drender/CMakeLists.txt @@ -17,7 +17,6 @@ qt_add_module(3DQuickRender items/quick3drenderpass.cpp items/quick3drenderpass_p.h items/quick3drenderpassfilter.cpp items/quick3drenderpassfilter_p.h items/quick3drendertargetoutput.cpp items/quick3drendertargetoutput_p.h - items/quick3drendertargetselector.cpp items/quick3drendertargetselector_p.h items/quick3dscene.cpp items/quick3dscene_p.h items/quick3dscreenraycaster.cpp items/quick3dscreenraycaster_p.h items/quick3dscreenraycaster_p_p.h diff --git a/src/quick3d/quick3drender/items/items.pri b/src/quick3d/quick3drender/items/items.pri index 4bfb1ae4a..06732cf33 100644 --- a/src/quick3d/quick3drender/items/items.pri +++ b/src/quick3d/quick3drender/items/items.pri @@ -5,7 +5,6 @@ HEADERS += \ $$PWD/quick3dmaterial_p.h \ $$PWD/quick3drenderpass_p.h \ $$PWD/quick3drenderpassfilter_p.h \ - $$PWD/quick3drendertargetselector_p.h \ $$PWD/quick3dscene_p.h \ $$PWD/quick3dshaderdata_p.h \ $$PWD/quick3dshaderdataarray_p.h \ @@ -37,7 +36,6 @@ SOURCES += \ $$PWD/quick3dshaderdata.cpp \ $$PWD/quick3dshaderdataarray.cpp \ $$PWD/quick3dstateset.cpp \ - $$PWD/quick3drendertargetselector.cpp \ $$PWD/quick3drendertargetoutput.cpp \ $$PWD/quick3dmemorybarrier.cpp \ $$PWD/quick3draycaster.cpp \ diff --git a/src/quick3d/quick3drender/items/quick3drendertargetselector.cpp b/src/quick3d/quick3drender/items/quick3drendertargetselector.cpp deleted file mode 100644 index ce9ebd976..000000000 --- a/src/quick3d/quick3drender/items/quick3drendertargetselector.cpp +++ /dev/null @@ -1,87 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 Klaralvdalens Datakonsult AB (KDAB). -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt3D module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** 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 Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or 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.GPL2 and 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-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <Qt3DQuickRender/private/quick3drendertargetselector_p.h> - -QT_BEGIN_NAMESPACE - -namespace Qt3DRender { -namespace Render { -namespace Quick { - -Quick3DRenderTargetSelector::Quick3DRenderTargetSelector(QObject *parent) - : QObject(parent) -{ -} - -Quick3DRenderTargetSelector::~Quick3DRenderTargetSelector() -{ -} - -QVariantList Quick3DRenderTargetSelector::drawBuffers() const -{ - // Converts RenderAttachmentType to int - QVariantList l; - const auto outputs = parentRenderTargetSelector()->outputs(); - l.reserve(outputs.size()); - for (const QRenderTargetOutput::AttachmentPoint &b : outputs) - l.append(static_cast<int>(b)); - return l; -} - -void Quick3DRenderTargetSelector::setDrawBuffers(const QVariantList &buffers) -{ - if (buffers != drawBuffers()) { - - // Converts int to RenderAttachmentType - QList<QRenderTargetOutput::AttachmentPoint> drawBuffersList; - drawBuffersList.reserve(buffers.size()); - for (const QVariant &buf : buffers) - drawBuffersList.append(static_cast<QRenderTargetOutput::AttachmentPoint>(buf.toInt())); - - parentRenderTargetSelector()->setOutputs(drawBuffersList); - emit drawBuffersChanged(); - } -} - -} // namespace Quick -} // namespace Render -} // namespace Qt3DRender - -QT_END_NAMESPACE diff --git a/src/quick3d/quick3drender/items/quick3drendertargetselector_p.h b/src/quick3d/quick3drender/items/quick3drendertargetselector_p.h deleted file mode 100644 index 7f4b99749..000000000 --- a/src/quick3d/quick3drender/items/quick3drendertargetselector_p.h +++ /dev/null @@ -1,90 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 Klaralvdalens Datakonsult AB (KDAB). -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt3D module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** 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 Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or 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.GPL2 and 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-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QT3DRENDER_RENDER_QUICK_QUICK3DRENDERTARGETSELECTOR_P_H -#define QT3DRENDER_RENDER_QUICK_QUICK3DRENDERTARGETSELECTOR_P_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists for the convenience -// of other Qt classes. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include <Qt3DRender/qrendertargetoutput.h> -#include <Qt3DRender/qrendertargetselector.h> -#include <QtCore/QVariantList> -#include <QtQml/QQmlListProperty> - -#include <Qt3DQuickRender/private/qt3dquickrender_global_p.h> - -QT_BEGIN_NAMESPACE - -namespace Qt3DRender { -namespace Render { -namespace Quick { - -class Q_3DQUICKRENDERSHARED_PRIVATE_EXPORT Quick3DRenderTargetSelector : public QObject -{ - Q_OBJECT - Q_PROPERTY(QVariantList drawBuffers READ drawBuffers WRITE setDrawBuffers NOTIFY drawBuffersChanged) -public: - explicit Quick3DRenderTargetSelector(QObject *parent = 0); - ~Quick3DRenderTargetSelector(); - - inline QRenderTargetSelector *parentRenderTargetSelector() const { return qobject_cast<QRenderTargetSelector *>(parent()); } - - QVariantList drawBuffers() const; - void setDrawBuffers(const QVariantList &drawBuffers); - -Q_SIGNALS: - void drawBuffersChanged(); -}; - -} // namespace Quick -} // namespace Render -} // namespace Qt3DRender - -QT_END_NAMESPACE - -#endif // QT3DRENDER_RENDER_QUICK_QUICK3DRENDERTARGETSELECTOR_P_H diff --git a/src/render/framegraph/qrendertargetselector.cpp b/src/render/framegraph/qrendertargetselector.cpp index 015768103..5004df234 100644 --- a/src/render/framegraph/qrendertargetselector.cpp +++ b/src/render/framegraph/qrendertargetselector.cpp @@ -56,10 +56,7 @@ namespace Qt3DRender { A Qt3DRender::QRenderTargetSelector is used to select active Qt3DRender::QRenderTarget for the FrameGraph. When QRenderTargetSelector is present in the FrameGraph, the rendering is directed into QTexture objects or draw buffers instead of the surface - specified in the Qt3DRender::QRenderSurfaceSelector. A render buffer is automatically - generated for an attachment point if drawBuffers contain attachment point that any - output in the QRenderTarget do not specify. If the drawBuffers is empty, - the renderer will default to using all the outputs in QRenderTarget. + specified in the Qt3DRender::QRenderSurfaceSelector. */ /*! @@ -75,12 +72,6 @@ namespace Qt3DRender { the rendering is directed into Texture objects or draw buffers instead of the surface specified in the RenderSurfaceSelector. */ -/*! - \qmlproperty list<variant> RenderTargetSelector::drawBuffers - Holds the list of draw buffers enabled for the RenderTarget. - - \sa Qt3DRender::QRenderTargetOutput::AttachmentPoint - */ QRenderTargetSelectorPrivate::QRenderTargetSelectorPrivate() : QFrameGraphNodePrivate() @@ -137,33 +128,6 @@ QRenderTarget *QRenderTargetSelector::target() const return d->m_target; } -/*! - Sets the draw \a buffers to be used. The draw buffers should be - matching the Qt3DRender::QRenderTargetOutput::AttachmentPoint - defined in the attachments of the Qt3DRender::QRenderTarget associated to the - Qt3DRender::QRenderTargetSelector instance. - - \note At render time, if no draw buffer has been specified, the renderer will - default to using all the attachments' draw buffers. - */ -void QRenderTargetSelector::setOutputs(const QList<QRenderTargetOutput::AttachmentPoint> &buffers) -{ - Q_D(QRenderTargetSelector); - if (buffers != d->m_outputs) { - d->m_outputs = buffers; - d->update(); - } -} - -/*! - \return the list of draw buffers for the current Qt3DRender::QRenderTargetSelector instance. - */ -QList<QRenderTargetOutput::AttachmentPoint> QRenderTargetSelector::outputs() const -{ - Q_D(const QRenderTargetSelector); - return d->m_outputs; -} - /*! \internal */ QRenderTargetSelector::QRenderTargetSelector(QRenderTargetSelectorPrivate &dd, QNode *parent) : QFrameGraphNode(dd, parent) diff --git a/src/render/framegraph/qrendertargetselector.h b/src/render/framegraph/qrendertargetselector.h index 8ea8e3121..5bcf2098f 100644 --- a/src/render/framegraph/qrendertargetselector.h +++ b/src/render/framegraph/qrendertargetselector.h @@ -62,9 +62,6 @@ public: QRenderTarget *target() const; - void setOutputs(const QList<QRenderTargetOutput::AttachmentPoint> &buffers); - QList<QRenderTargetOutput::AttachmentPoint> outputs() const; - public Q_SLOTS: void setTarget(QRenderTarget *target); diff --git a/src/render/framegraph/rendertargetselectornode.cpp b/src/render/framegraph/rendertargetselectornode.cpp index f32b8c7d9..5ec3b0323 100644 --- a/src/render/framegraph/rendertargetselectornode.cpp +++ b/src/render/framegraph/rendertargetselectornode.cpp @@ -70,11 +70,6 @@ void RenderTargetSelector::syncFromFrontEnd(const QNode *frontEnd, bool firstTim m_renderTargetUuid = renderTargetId; markDirty(AbstractRenderer::FrameGraphDirty); } - - if (node->outputs() != m_outputs) { - m_outputs = node->outputs(); - markDirty(AbstractRenderer::FrameGraphDirty); - } } } // namespace Render diff --git a/src/render/framegraph/rendertargetselectornode_p.h b/src/render/framegraph/rendertargetselectornode_p.h index 3234c75bb..9584924da 100644 --- a/src/render/framegraph/rendertargetselectornode_p.h +++ b/src/render/framegraph/rendertargetselectornode_p.h @@ -69,11 +69,9 @@ public: void syncFromFrontEnd(const Qt3DCore::QNode *frontEnd, bool firstTime) override; Qt3DCore::QNodeId renderTargetUuid() const { return m_renderTargetUuid; } - QList<QRenderTargetOutput::AttachmentPoint> outputs() const { return m_outputs; } private: Qt3DCore::QNodeId m_renderTargetUuid; - QList<QRenderTargetOutput::AttachmentPoint> m_outputs; }; } // namespace Render |