![]() |
Qt 6.x
The Qt SDK
|
#include <qssgrendereffect_p.h>
Inheritance diagram for QSSGRenderEffect:
Collaboration diagram for QSSGRenderEffect:Classes | |
| struct | Command |
| struct | Property |
| struct | ShaderPrepPassData |
| struct | TextureProperty |
Public Types | |
| enum class | Flags : quint8 { Dirty = 0x1u } |
| using | FlagT = std::underlying_type_t< Flags > |
Public Types inherited from QSSGRenderGraphObject | |
| enum | BaseType : quint16 { Node = 0x10 , Light = 0x20 , Camera = 0x40 , Renderable = 0x80 , Resource = 0x100 , Material = 0x200 , Texture = 0x400 , Extension = 0x800 } |
| enum class | Type : quint16 { Unknown = 0 , Node = BaseType::Node , Layer , Joint , Skeleton , ImportScene , ReflectionProbe , DirectionalLight = BaseType::Light | BaseType::Node , PointLight , SpotLight , OrthographicCamera = BaseType::Camera | BaseType::Node , PerspectiveCamera , CustomFrustumCamera , CustomCamera , Model = BaseType::Renderable | BaseType::Node , Item2D , Particles , SceneEnvironment = BaseType::Resource , Effect , Geometry , TextureData , MorphTarget , ModelInstance , ModelBlendParticle , ResourceLoader , DefaultMaterial = BaseType::Material | BaseType::Resource , PrincipledMaterial , CustomMaterial , SpecularGlossyMaterial , Skin , Image2D = BaseType::Texture | BaseType::Resource , ImageCube , RenderExtension = BaseType::Extension } |
Public Member Functions | |
| QSSGRenderEffect () | |
| ~QSSGRenderEffect () | |
| void | finalizeShaders (const QSSGRenderLayer &layer, QSSGRenderContextInterface *renderContext) |
| void | markDirty () |
| void | clearDirty () |
| bool | isDirty () const |
| void | resetCommands () |
Public Member Functions inherited from QSSGRenderGraphObject | |
| Q_QUICK3D_PROFILE_ID | QSSGRenderGraphObject (QSSGRenderGraphObject::Type inType) |
| virtual | ~QSSGRenderGraphObject () |
Public Attributes | ||
| QVector< TextureProperty > | textureProperties | |
| QVector< Property > | properties | |
| QSSGRenderEffect * | m_nextEffect = nullptr | |
| QVector< Command > | commands | |
| const char * | className = nullptr | |
| FlagT | flags = FlagT(Flags::Dirty) | |
| bool | requiresDepthTexture = false | |
| bool | incompleteBuildTimeObject = false | |
| QSSGRenderTextureFormat::Format | outputFormat = QSSGRenderTextureFormat::Unknown | |
| struct { | ||
| bool valid = false | ||
| QVector< ShaderPrepPassData > passes | ||
| } | shaderPrepData | |
| QString | debugObjectName | |
Public Attributes inherited from QSSGRenderGraphObject | ||
| Type | type | |
Additional Inherited Members | |
Static Public Member Functions inherited from QSSGRenderGraphObject | |
| static Q_REQUIRED_RESULT constexpr bool | isNodeType (Type type) Q_DECL_NOTHROW |
| static Q_REQUIRED_RESULT constexpr bool | isLight (Type type) Q_DECL_NOTHROW |
| static Q_REQUIRED_RESULT constexpr bool | isCamera (Type type) Q_DECL_NOTHROW |
| static Q_REQUIRED_RESULT constexpr bool | isMaterial (Type type) Q_DECL_NOTHROW |
| static Q_REQUIRED_RESULT constexpr bool | isTexture (Type type) Q_DECL_NOTHROW |
| static Q_REQUIRED_RESULT constexpr bool | isRenderable (Type type) Q_DECL_NOTHROW |
| static Q_REQUIRED_RESULT constexpr bool | isResource (Type type) Q_DECL_NOTHROW |
| static constexpr bool | isExtension (Type type) noexcept |
| static Q_REQUIRED_RESULT constexpr bool | hasGraphicsResources (Type type) Q_DECL_NOTHROW |
| static const char * | asString (QSSGRenderGraphObject::Type type) |
| static QDebug | debugPrintImpl (QDebug stream, QSSGRenderGraphObject::Type type) |
Definition at line 32 of file qssgrendereffect_p.h.
| using QSSGRenderEffect::FlagT = std::underlying_type_t<Flags> |
Definition at line 43 of file qssgrendereffect_p.h.
|
strong |
| Enumerator | |
|---|---|
| Dirty | |
Definition at line 39 of file qssgrendereffect_p.h.
| QT_BEGIN_NAMESPACE QSSGRenderEffect::QSSGRenderEffect | ( | ) |
Definition at line 14 of file qssgrendereffect.cpp.
| QSSGRenderEffect::~QSSGRenderEffect | ( | ) |
Definition at line 16 of file qssgrendereffect.cpp.
References resetCommands().
Here is the call graph for this function:| void QSSGRenderEffect::clearDirty | ( | ) |
Definition at line 26 of file qssgrendereffect.cpp.
| void QSSGRenderEffect::finalizeShaders | ( | const QSSGRenderLayer & | layer, |
| QSSGRenderContextInterface * | renderContext | ||
| ) |
Definition at line 62 of file qssgrendereffect.cpp.
References QByteArray::append(), QString::append(), QSSGRenderEffect::ShaderPrepPassData::bindShaderCmdIndex, effect_fragment_main, effect_fragment_main_with_tonemapping, effect_vertex_main_position, effect_vertex_main_post, effect_vertex_main_pre, QSSGCustomShaderMetaData::features, QSSGCustomShaderMetaData::flags, QSSGShaderCache::Fragment, QSSGRenderEffect::ShaderPrepPassData::fragmentMetaData, QSSGRenderEffect::ShaderPrepPassData::fragmentShaderCode, QCryptographicHash::hash(), i, QByteArray::isEmpty(), QRhi::isYUpInFramebuffer(), m_nextEffect, QByteArray::number(), QSSGCustomShaderMetaData::OverridesPosition, Q_UNUSED, QSSGRenderContextInterface::rhiContext(), QSSGRenderer::setTonemapFeatures(), QCryptographicHash::Sha1, QSSGRenderContextInterface::shaderLibraryManager(), QSSGRenderEffect::ShaderPrepPassData::shaderPathKeyPrefix, shaderPrepData, QSSGShaderCache::Vertex, QSSGRenderEffect::ShaderPrepPassData::vertexMetaData, and QSSGRenderEffect::ShaderPrepPassData::vertexShaderCode.
Here is the call graph for this function:
|
inline |
Definition at line 79 of file qssgrendereffect_p.h.
| void QSSGRenderEffect::markDirty | ( | ) |
Definition at line 21 of file qssgrendereffect.cpp.
| void QSSGRenderEffect::resetCommands | ( | ) |
Definition at line 147 of file qssgrendereffect.cpp.
References commands, and shaderPrepData.
Referenced by ~QSSGRenderEffect().
Here is the caller graph for this function:| const char* QSSGRenderEffect::className = nullptr |
Definition at line 89 of file qssgrendereffect_p.h.
Definition at line 85 of file qssgrendereffect_p.h.
Referenced by QSSGRhiEffectSystem::overriddenOutputFormat(), and resetCommands().
| QString QSSGRenderEffect::debugObjectName |
Definition at line 110 of file qssgrendereffect_p.h.
Definition at line 90 of file qssgrendereffect_p.h.
| bool QSSGRenderEffect::incompleteBuildTimeObject = false |
Definition at line 92 of file qssgrendereffect_p.h.
Referenced by QQuick3DEffect::updateSpatialNode().
| QSSGRenderEffect* QSSGRenderEffect::m_nextEffect = nullptr |
Definition at line 75 of file qssgrendereffect_p.h.
Referenced by QSSGRenderLayer::addEffect(), finalizeShaders(), QSSGRenderLayer::hasEffect(), and QQuick3DSceneRenderer::synchronize().
| QSSGRenderTextureFormat::Format QSSGRenderEffect::outputFormat = QSSGRenderTextureFormat::Unknown |
Definition at line 93 of file qssgrendereffect_p.h.
Referenced by QSSGRhiEffectSystem::overriddenOutputFormat().
| QVector<ShaderPrepPassData> QSSGRenderEffect::passes |
Definition at line 107 of file qssgrendereffect_p.h.
Definition at line 73 of file qssgrendereffect_p.h.
Referenced by QQuick3DEffect::updateSpatialNode().
| bool QSSGRenderEffect::requiresDepthTexture = false |
Definition at line 91 of file qssgrendereffect_p.h.
| struct { ... } QSSGRenderEffect::shaderPrepData |
Referenced by finalizeShaders(), and resetCommands().
| QVector<TextureProperty> QSSGRenderEffect::textureProperties |
Definition at line 58 of file qssgrendereffect_p.h.
Referenced by QQuick3DEffect::updateSpatialNode().
| bool QSSGRenderEffect::valid = false |
Definition at line 106 of file qssgrendereffect_p.h.