summaryrefslogtreecommitdiffstats
path: root/src/render/frontend/qrenderaspect_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/frontend/qrenderaspect_p.h')
-rw-r--r--src/render/frontend/qrenderaspect_p.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/render/frontend/qrenderaspect_p.h b/src/render/frontend/qrenderaspect_p.h
index 72183ef87..b8c8538ee 100644
--- a/src/render/frontend/qrenderaspect_p.h
+++ b/src/render/frontend/qrenderaspect_p.h
@@ -55,6 +55,8 @@
#include <Qt3DCore/private/qabstractaspect_p.h>
#include <Qt3DRender/private/qt3drender_global_p.h>
+#include <QtCore/qmutex.h>
+
QT_BEGIN_NAMESPACE
class QSurface;
@@ -62,9 +64,11 @@ class QSurface;
namespace Qt3DRender {
class QSceneImporter;
+
namespace Render {
class AbstractRenderer;
class NodeManagers;
+class QRenderPlugin;
}
namespace Render {
@@ -79,12 +83,16 @@ public:
Q_DECLARE_PUBLIC(QRenderAspect)
+ static QRenderAspectPrivate* findPrivate(Qt3DCore::QAspectEngine *engine);
+
void registerBackendTypes();
void unregisterBackendTypes();
void loadSceneParsers();
+ void loadRenderPlugin(const QString &pluginName);
void renderInitialize(QOpenGLContext *context);
void renderSynchronous();
void renderShutdown();
+ void registerBackendType(const QMetaObject &, const Qt3DCore::QBackendNodeMapperPtr &functor);
QVector<Qt3DCore::QAspectJobPtr> createGeometryRendererJobs();
Render::NodeManagers *m_nodeManagers;
@@ -92,8 +100,15 @@ public:
bool m_initialized;
QList<QSceneImporter *> m_sceneImporter;
+ QVector<QString> m_loadedPlugins;
+ QVector<Render::QRenderPlugin *> m_renderPlugins;
QRenderAspect::RenderType m_renderType;
Render::OffscreenSurfaceHelper *m_offscreenHelper;
+
+ static QMutex m_pluginLock;
+ static QVector<QString> m_pluginConfig;
+ static QVector<QRenderAspectPrivate *> m_instances;
+ static void configurePlugin(const QString &plugin);
};
}