Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QSSGRenderContextInterface Class Reference

\inmodule QtQuick3D More...

#include <qssgrendercontextcore.h>

+ Collaboration diagram for QSSGRenderContextInterface:

Public Member Functions

 QSSGRenderContextInterface (QRhi *rhi)
 
 QSSGRenderContextInterface (std::unique_ptr< QSSGBufferManager > bufferManager, std::unique_ptr< QSSGRenderer > renderer, std::shared_ptr< QSSGShaderLibraryManager > shaderLibraryManager, std::unique_ptr< QSSGShaderCache > shaderCache, std::unique_ptr< QSSGCustomMaterialSystem > customMaterialSystem, std::unique_ptr< QSSGProgramGenerator > shaderProgramGenerator, std::unique_ptr< QSSGRhiContext > ctx, std::unique_ptr< QSSGDebugDrawSystem > debugDrawSystem=nullptr)
 
 ~QSSGRenderContextInterface ()
 
const std::unique_ptr< QSSGRenderer > & renderer () const
 
const std::unique_ptr< QSSGBufferManager > & bufferManager () const
 
const std::unique_ptr< QSSGRhiContext > & rhiContext () const
 
const std::unique_ptr< QSSGShaderCache > & shaderCache () const
 
const std::shared_ptr< QSSGShaderLibraryManager > & shaderLibraryManager () const
 
const std::unique_ptr< QSSGCustomMaterialSystem > & customMaterialSystem () const
 
const std::unique_ptr< QSSGProgramGenerator > & shaderProgramGenerator () const
 
const std::unique_ptr< QSSGDebugDrawSystem > & debugDrawSystem () const
 

Friends

class QQuick3DSceneRenderer
 
class QQuick3DWindowAttachment
 
class QSSGLayerRenderData
 
class QSSGRenderer
 

Detailed Description

\inmodule QtQuick3D

Since
6.7

Aggregate class for sub-parts of the QtQuick3D rendering engine.

The QSSGRenderContextInterface, and the objects owned by it are always per-QQuickWindow, and so per scenegraph render thread. Some resources might be shared, like the shader library, but that's all take care of internally by the QSSGRenderContextInterface.

Note
Some sub-components might not be exposed as semi-public, or their use might require private headers to be used. In those cases it's likely their APIs have a high likelihood of being changed in the near future. One the APIs for those class have stabilized they will be made available with the same guarantee as the rest of the semi-public APIs.

Definition at line 39 of file qssgrendercontextcore.h.

Constructor & Destructor Documentation

◆ QSSGRenderContextInterface() [1/2]

QSSGRenderContextInterface::QSSGRenderContextInterface ( QRhi * rhi)
explicit

Definition at line 114 of file qssgrendercontextcore.cpp.

◆ QSSGRenderContextInterface() [2/2]

QSSGRenderContextInterface::QSSGRenderContextInterface ( std::unique_ptr< QSSGBufferManager > bufferManager,
std::unique_ptr< QSSGRenderer > renderer,
std::shared_ptr< QSSGShaderLibraryManager > shaderLibraryManager,
std::unique_ptr< QSSGShaderCache > shaderCache,
std::unique_ptr< QSSGCustomMaterialSystem > customMaterialSystem,
std::unique_ptr< QSSGProgramGenerator > shaderProgramGenerator,
std::unique_ptr< QSSGRhiContext > ctx,
std::unique_ptr< QSSGDebugDrawSystem > debugDrawSystem = nullptr )

Definition at line 82 of file qssgrendercontextcore.cpp.

◆ ~QSSGRenderContextInterface()

QSSGRenderContextInterface::~QSSGRenderContextInterface ( )

Definition at line 131 of file qssgrendercontextcore.cpp.

Member Function Documentation

◆ bufferManager()

◆ customMaterialSystem()

const std::unique_ptr< QSSGCustomMaterialSystem > & QSSGRenderContextInterface::customMaterialSystem ( ) const

Definition at line 179 of file qssgrendercontextcore.cpp.

Referenced by QSSGLayerRenderData::prepareModelsForRender().

+ Here is the caller graph for this function:

◆ debugDrawSystem()

const std::unique_ptr< QSSGDebugDrawSystem > & QSSGRenderContextInterface::debugDrawSystem ( ) const

Definition at line 195 of file qssgrendercontextcore.cpp.

Referenced by QSSGLayerRenderData::prepareForRender(), and QSSGLayerRenderData::prepareModelsForRender().

+ Here is the caller graph for this function:

◆ renderer()

const std::unique_ptr< QSSGRenderer > & QSSGRenderContextInterface::renderer ( ) const

Definition at line 139 of file qssgrendercontextcore.cpp.

Referenced by QSSGFrameData::activeCamera(), QSSGFrameData::getPipelineState(), QSSGFrameData::getRenderResult(), QSSGLayerRenderData::prepareModelsForRender(), and QSSGMaterialShaderGenerator::setRhiMaterialProperties().

+ Here is the caller graph for this function:

◆ rhiContext()

◆ shaderCache()

const std::unique_ptr< QSSGShaderCache > & QSSGRenderContextInterface::shaderCache ( ) const

Definition at line 163 of file qssgrendercontextcore.cpp.

Referenced by QSSGRenderReflectionMap::addReflectionMapEntry(), and QSSGCustomMaterialSystem::shadersForCustomMaterial().

+ Here is the caller graph for this function:

◆ shaderLibraryManager()

const std::shared_ptr< QSSGShaderLibraryManager > & QSSGRenderContextInterface::shaderLibraryManager ( ) const

Definition at line 171 of file qssgrendercontextcore.cpp.

Referenced by QSSGRenderEffect::finalizeShaders(), and QSSGCustomMaterialSystem::shadersForCustomMaterial().

+ Here is the caller graph for this function:

◆ shaderProgramGenerator()

const std::unique_ptr< QSSGProgramGenerator > & QSSGRenderContextInterface::shaderProgramGenerator ( ) const

Definition at line 187 of file qssgrendercontextcore.cpp.

Referenced by QSSGCustomMaterialSystem::shadersForCustomMaterial().

+ Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ QQuick3DSceneRenderer

friend class QQuick3DSceneRenderer
friend

Definition at line 69 of file qssgrendercontextcore.h.

◆ QQuick3DWindowAttachment

friend class QQuick3DWindowAttachment
friend

Definition at line 70 of file qssgrendercontextcore.h.

◆ QSSGLayerRenderData

friend class QSSGLayerRenderData
friend

Definition at line 71 of file qssgrendercontextcore.h.

◆ QSSGRenderer

friend class QSSGRenderer
friend

Definition at line 72 of file qssgrendercontextcore.h.


The documentation for this class was generated from the following files: