Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
QSSGRenderContextInterface Class Reference

#include <qssgrendercontextcore_p.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
 
QRhirhi () const
 
QSSGPerFrameAllocatorperFrameAllocator ()
 
quint32 frameCount ()
 
void setSceneColor (const QColor &inSceneColor)
 
void setViewport (QRect inViewport)
 
QRect viewport () const
 
void setDpr (float dpr)
 
float dpr () const
 
void setScissorRect (QRect inScissorRect)
 
QRect scissorRect () const
 
void cleanupResources (QList< QSSGRenderGraphObject * > &resources)
 
void cleanupResources (QSet< QSSGRenderGraphObject * > &resources)
 
void cleanupUnreferencedBuffers (QSSGRenderLayer *inLayer)
 
void resetResourceCounters (QSSGRenderLayer *inLayer)
 
void beginFrame (QSSGRenderLayer *layer, bool allowRecursion=true)
 
bool prepareLayerForRender (QSSGRenderLayer &inLayer)
 
void rhiPrepare (QSSGRenderLayer &inLayer)
 
void rhiRender (QSSGRenderLayer &inLayer)
 
bool endFrame (QSSGRenderLayer *layer, bool allowRecursion=true)
 

Friends

class QQuick3DWindowAttachment
 

Detailed Description

Definition at line 39 of file qssgrendercontextcore_p.h.

Constructor & Destructor Documentation

◆ QSSGRenderContextInterface() [1/2]

QSSGRenderContextInterface::QSSGRenderContextInterface ( QRhi rhi)
explicit

Definition at line 76 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 48 of file qssgrendercontextcore.cpp.

◆ ~QSSGRenderContextInterface()

QSSGRenderContextInterface::~QSSGRenderContextInterface ( )

Definition at line 89 of file qssgrendercontextcore.cpp.

Member Function Documentation

◆ beginFrame()

void QSSGRenderContextInterface::beginFrame ( QSSGRenderLayer layer,
bool  allowRecursion = true 
)

Definition at line 161 of file qssgrendercontextcore.cpp.

References QSSGPerFrameAllocator::reset(), and resetResourceCounters().

+ Here is the call graph for this function:

◆ bufferManager()

const std::unique_ptr< QSSGBufferManager > & QSSGRenderContextInterface::bufferManager ( ) const

◆ cleanupResources() [1/2]

void QSSGRenderContextInterface::cleanupResources ( QList< QSSGRenderGraphObject * > &  resources)

Definition at line 139 of file qssgrendercontextcore.cpp.

◆ cleanupResources() [2/2]

void QSSGRenderContextInterface::cleanupResources ( QSet< QSSGRenderGraphObject * > &  resources)

Definition at line 144 of file qssgrendercontextcore.cpp.

◆ cleanupUnreferencedBuffers()

void QSSGRenderContextInterface::cleanupUnreferencedBuffers ( QSSGRenderLayer inLayer)

Definition at line 149 of file qssgrendercontextcore.cpp.

Referenced by endFrame().

+ Here is the caller graph for this function:

◆ customMaterialSystem()

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

Definition at line 119 of file qssgrendercontextcore.cpp.

Referenced by QSSGLayerRenderData::prepareModelsForRender(), RenderHelpers::rhiPrepareDepthPass(), RenderHelpers::rhiPrepareRenderable(), rhiPrepareResourcesForShadowMap(), and RenderHelpers::rhiRenderRenderable().

+ Here is the caller graph for this function:

◆ debugDrawSystem()

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

Definition at line 129 of file qssgrendercontextcore.cpp.

Referenced by QSSGLayerRenderData::prepareModelsForRender().

+ Here is the caller graph for this function:

◆ dpr()

float QSSGRenderContextInterface::dpr ( ) const
inline

Definition at line 82 of file qssgrendercontextcore_p.h.

Referenced by QSSGLayerRenderData::prepareForRender().

+ Here is the caller graph for this function:

◆ endFrame()

bool QSSGRenderContextInterface::endFrame ( QSSGRenderLayer layer,
bool  allowRecursion = true 
)

Definition at line 188 of file qssgrendercontextcore.cpp.

References cleanupUnreferencedBuffers().

+ Here is the call graph for this function:

◆ frameCount()

quint32 QSSGRenderContextInterface::frameCount ( )
inline

Definition at line 74 of file qssgrendercontextcore_p.h.

◆ perFrameAllocator()

QSSGPerFrameAllocator & QSSGRenderContextInterface::perFrameAllocator ( )
inline

Definition at line 71 of file qssgrendercontextcore_p.h.

◆ prepareLayerForRender()

bool QSSGRenderContextInterface::prepareLayerForRender ( QSSGRenderLayer inLayer)

Definition at line 173 of file qssgrendercontextcore.cpp.

◆ renderer()

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

Definition at line 94 of file qssgrendercontextcore.cpp.

Referenced by QSSGModelHelpers::createRenderables(), QSSGCustomMaterialSystem::shadersForCustomMaterial(), and QSSGCustomMaterialSystem::updateUniformsForCustomMaterial().

+ Here is the caller graph for this function:

◆ resetResourceCounters()

void QSSGRenderContextInterface::resetResourceCounters ( QSSGRenderLayer inLayer)

Definition at line 156 of file qssgrendercontextcore.cpp.

Referenced by beginFrame().

+ Here is the caller graph for this function:

◆ rhi()

QRhi * QSSGRenderContextInterface::rhi ( ) const

Definition at line 134 of file qssgrendercontextcore.cpp.

◆ rhiContext()

◆ rhiPrepare()

void QSSGRenderContextInterface::rhiPrepare ( QSSGRenderLayer inLayer)

Definition at line 178 of file qssgrendercontextcore.cpp.

◆ rhiRender()

void QSSGRenderContextInterface::rhiRender ( QSSGRenderLayer inLayer)

Definition at line 183 of file qssgrendercontextcore.cpp.

◆ scissorRect()

QRect QSSGRenderContextInterface::scissorRect ( ) const
inline

Definition at line 85 of file qssgrendercontextcore_p.h.

◆ setDpr()

void QSSGRenderContextInterface::setDpr ( float  dpr)
inline

Definition at line 81 of file qssgrendercontextcore_p.h.

References dpr().

+ Here is the call graph for this function:

◆ setSceneColor()

void QSSGRenderContextInterface::setSceneColor ( const QColor inSceneColor)
inline

Definition at line 76 of file qssgrendercontextcore_p.h.

◆ setScissorRect()

void QSSGRenderContextInterface::setScissorRect ( QRect  inScissorRect)
inline

Definition at line 84 of file qssgrendercontextcore_p.h.

◆ setViewport()

void QSSGRenderContextInterface::setViewport ( QRect  inViewport)
inline

Definition at line 78 of file qssgrendercontextcore_p.h.

◆ shaderCache()

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

Definition at line 109 of file qssgrendercontextcore.cpp.

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

+ Here is the caller graph for this function:

◆ shaderLibraryManager()

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

Definition at line 114 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 124 of file qssgrendercontextcore.cpp.

Referenced by QSSGCustomMaterialSystem::shadersForCustomMaterial().

+ Here is the caller graph for this function:

◆ viewport()

QRect QSSGRenderContextInterface::viewport ( ) const
inline

Definition at line 79 of file qssgrendercontextcore_p.h.

Referenced by QSSGLayerRenderData::prepareForRender().

+ Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ QQuick3DWindowAttachment

friend class QQuick3DWindowAttachment
friend

Definition at line 115 of file qssgrendercontextcore_p.h.


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