![]() |
Qt 6.x
The Qt SDK
|
#include <qssgrendereffect_p.h>
Classes | |
struct | Command |
struct | Property |
struct | ShaderPrepPassData |
struct | TextureProperty |
Public Types | |
enum class | Flags : quint8 { Dirty = 0x1u } |
using | FlagT = std::underlying_type_t< Flags > |
![]() | |
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 () |
![]() | |
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 | |
![]() | ||
Type | type | |
Additional Inherited Members | |
![]() | |
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().
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.
|
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().
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.