summaryrefslogtreecommitdiffstats
path: root/src/quick3d/quick3drender/scene2d/scene2d_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick3d/quick3drender/scene2d/scene2d_p.h')
-rw-r--r--src/quick3d/quick3drender/scene2d/scene2d_p.h33
1 files changed, 21 insertions, 12 deletions
diff --git a/src/quick3d/quick3drender/scene2d/scene2d_p.h b/src/quick3d/quick3drender/scene2d/scene2d_p.h
index 950ddaa5b..769916fc9 100644
--- a/src/quick3d/quick3drender/scene2d/scene2d_p.h
+++ b/src/quick3d/quick3drender/scene2d/scene2d_p.h
@@ -50,12 +50,14 @@
#include <Qt3DCore/qnodeid.h>
-#include <private/framegraphnode_p.h>
-#include <private/qscene2d_p.h>
-
#include <QtCore/QCoreApplication>
#include <QtCore/QSemaphore>
+#include <private/qscene2d_p.h>
+#include <private/qrendertargetoutput_p.h>
+#include <private/backendnode_p.h>
+#include <private/attachmentpack_p.h>
+
QT_BEGIN_NAMESPACE
namespace Qt3DRender {
@@ -79,30 +81,37 @@ private:
Scene2D *m_node;
};
-class Q_AUTOTEST_EXPORT Scene2D : public FrameGraphNode
+class Q_AUTOTEST_EXPORT Scene2D : public Qt3DRender::Render::BackendNode
{
public:
Scene2D();
~Scene2D();
- void attach();
void render();
void initializeRender();
void setSharedObject(Qt3DRender::Quick::Scene2DSharedObjectPtr sharedObject);
void cleanup();
- void setTexture(Qt3DCore::QNodeId textureId);
- void checkInitialized();
+ void setOutput(Qt3DCore::QNodeId outputId);
+ void initializeSharedObject();
+ void initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change) Q_DECL_OVERRIDE;
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
- void initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change) Q_DECL_FINAL;
+
+ bool updateFbo(QOpenGLTexture *texture);
+ void syncRenderControl();
QOpenGLContext *m_context;
- GraphicsContext *m_graphicsContext;
+ QOpenGLContext *m_shareContext;
QThread *m_renderThread;
- Qt3DCore::QNodeId m_textureId;
+ Qt3DCore::QNodeId m_outputId;
QSharedPointer<Qt3DRender::Quick::Scene2DSharedObject> m_sharedObject;
- AttachmentPack m_attachments;
- Texture *m_texture;
+ Qt3DCore::QNodeId m_peerId;
+ QSharedPointer<RenderBackendResourceAccessor> m_accessor;
+ Qt3DRender::Render::Attachment m_attachmentData;
+
+ GLuint m_fbo;
+ GLuint m_rbo;
+ QSize m_textureSize;
bool m_initialized;
bool m_renderInitialized;