summaryrefslogtreecommitdiffstats
path: root/src/render/backend/cameralens_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/backend/cameralens_p.h')
-rw-r--r--src/render/backend/cameralens_p.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/render/backend/cameralens_p.h b/src/render/backend/cameralens_p.h
index 72282a88b..4d9df84e1 100644
--- a/src/render/backend/cameralens_p.h
+++ b/src/render/backend/cameralens_p.h
@@ -63,6 +63,20 @@ namespace Render {
class CameraManager;
+class CameraLensFunctor : public Qt3DCore::QBackendNodeMapper
+{
+public:
+ explicit CameraLensFunctor(AbstractRenderer *renderer, QRenderAspect *renderAspect);
+ Qt3DCore::QBackendNode *create(const Qt3DCore::QNodeCreatedChangeBasePtr &change) const Q_DECL_OVERRIDE;
+ Qt3DCore::QBackendNode *get(Qt3DCore::QNodeId id) const Q_DECL_OVERRIDE;
+ void destroy(Qt3DCore::QNodeId id) const Q_DECL_OVERRIDE;
+
+private:
+ CameraManager *m_manager;
+ AbstractRenderer *m_renderer;
+ QRenderAspect *m_renderAspect;
+};
+
class CameraLens : public BackendNode
{
public:
@@ -70,6 +84,8 @@ public:
~CameraLens();
void cleanup();
+ void setRenderAspect(QRenderAspect* renderAspect);
+
void setProjection(const QMatrix4x4 &projection);
inline QMatrix4x4 projection() const { return m_projection; }
@@ -81,6 +97,7 @@ public:
private:
void initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change) Q_DECL_FINAL;
+ QRenderAspect *m_renderAspect;
QMatrix4x4 m_projection;
float m_exposure;
};