43 Q_DISABLE_COPY(QSSGRenderContextInterface)
47 explicit QSSGRenderContextInterface(QRhi *rhi);
50 QSSGRenderContextInterface(std::unique_ptr<QSSGBufferManager> bufferManager,
51 std::unique_ptr<QSSGRenderer> renderer,
52 std::shared_ptr<QSSGShaderLibraryManager> shaderLibraryManager,
53 std::unique_ptr<QSSGShaderCache> shaderCache,
54 std::unique_ptr<QSSGCustomMaterialSystem> customMaterialSystem,
55 std::unique_ptr<QSSGProgramGenerator> shaderProgramGenerator,
56 std::unique_ptr<QSSGRhiContext> ctx);
57 QSSGRenderContextInterface(std::unique_ptr<QSSGBufferManager> bufferManager,
58 std::unique_ptr<QSSGRenderer> renderer,
59 std::shared_ptr<QSSGShaderLibraryManager> shaderLibraryManager,
60 std::unique_ptr<QSSGShaderCache> shaderCache,
61 std::unique_ptr<QSSGCustomMaterialSystem> customMaterialSystem,
62 std::unique_ptr<QSSGProgramGenerator> shaderProgramGenerator,
63 std::unique_ptr<QSSGRhiContext> ctx,
64 std::unique_ptr<QSSGDebugDrawSystem> debugDrawSystem);
78 friend class QQuick3DSceneRenderer;
85 void releaseCachedResources();
90 const std::unique_ptr<QSSGPerFrameAllocator> &perFrameAllocator()
const;
92 std::unique_ptr<QSSGRhiContext> m_rhiContext;
93 std::unique_ptr<QSSGShaderCache> m_shaderCache;
94 std::unique_ptr<QSSGBufferManager> m_bufferManager;
95 std::unique_ptr<QSSGRenderer> m_renderer;
96 std::shared_ptr<QSSGShaderLibraryManager> m_shaderLibraryManager;
97 std::unique_ptr<QSSGCustomMaterialSystem> m_customMaterialSystem;
98 std::unique_ptr<QSSGProgramGenerator> m_shaderProgramGenerator;
99 std::unique_ptr<QSSGDebugDrawSystem> m_debugDrawSystem;
100 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()