41 Q_DISABLE_COPY(QSSGRenderContextInterface)
45 explicit QSSGRenderContextInterface(QRhi *rhi);
48 QSSGRenderContextInterface(std::unique_ptr<QSSGBufferManager> bufferManager,
49 std::unique_ptr<QSSGRenderer> renderer,
50 std::shared_ptr<QSSGShaderLibraryManager> shaderLibraryManager,
51 std::unique_ptr<QSSGShaderCache> shaderCache,
52 std::unique_ptr<QSSGCustomMaterialSystem> customMaterialSystem,
53 std::unique_ptr<QSSGProgramGenerator> shaderProgramGenerator,
54 std::unique_ptr<QSSGRhiContext> ctx);
55 QSSGRenderContextInterface(std::unique_ptr<QSSGBufferManager> bufferManager,
56 std::unique_ptr<QSSGRenderer> renderer,
57 std::shared_ptr<QSSGShaderLibraryManager> shaderLibraryManager,
58 std::unique_ptr<QSSGShaderCache> shaderCache,
59 std::unique_ptr<QSSGCustomMaterialSystem> customMaterialSystem,
60 std::unique_ptr<QSSGProgramGenerator> shaderProgramGenerator,
61 std::unique_ptr<QSSGRhiContext> ctx,
62 std::unique_ptr<QSSGDebugDrawSystem> debugDrawSystem);
76 friend class QQuick3DSceneRenderer;
83 void releaseCachedResources();
88 const std::unique_ptr<QSSGPerFrameAllocator> &perFrameAllocator()
const;
90 std::unique_ptr<QSSGRhiContext> m_rhiContext;
91 std::unique_ptr<QSSGShaderCache> m_shaderCache;
92 std::unique_ptr<QSSGBufferManager> m_bufferManager;
93 std::unique_ptr<QSSGRenderer> m_renderer;
94 std::shared_ptr<QSSGShaderLibraryManager> m_shaderLibraryManager;
95 std::unique_ptr<QSSGCustomMaterialSystem> m_customMaterialSystem;
96 std::unique_ptr<QSSGProgramGenerator> m_shaderProgramGenerator;
97 std::unique_ptr<QSSGDebugDrawSystem> m_debugDrawSystem;
98 std::unique_ptr<QSSGPerFrameAllocator> m_perFrameAllocator;
const std::unique_ptr< QSSGRhiContext > & rhiContext() const
friend class QSSGLayerRenderData
friend class QSSGRenderer
const std::unique_ptr< QSSGDebugDrawSystem > & debugDrawSystem() const
friend class QQuick3DWindowAttachment
const std::unique_ptr< QSSGProgramGenerator > & shaderProgramGenerator() const
const std::unique_ptr< QSSGCustomMaterialSystem > & customMaterialSystem() const
const std::shared_ptr< QSSGShaderLibraryManager > & shaderLibraryManager() const
const std::unique_ptr< QSSGBufferManager > & bufferManager() const
const std::unique_ptr< QSSGRenderer > & renderer() const
const std::unique_ptr< QSSGShaderCache > & shaderCache() const
~QSSGRenderContextInterface()