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>.
|
#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> |
Public Types inherited from QSSGRenderGraphObject | |
enum | BaseType : quint32 { Node = 0x1000 , Light = 0x2000 , Camera = 0x4000 , Renderable = 0x8000 , Resource = 0x10000 , Material = 0x20000 , Texture = 0x40000 , Extension = 0x80000 , User = 0x80000000 } |
enum class | Type : quint32 { 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 } |
enum class | Flags : quint32 { HasGraphicsResources = 0x1 } |
using | TypeT = std::underlying_type_t<Type> |
using | FlagT = std::underlying_type_t<Flags> |
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 | |
bool | hasGraphicsResources () const noexcept |
virtual Q_QUICK3D_PROFILE_ID_ | ~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 | ||
const Type | type | |
FlagT | flags { 0 } | |
Additional Inherited Members | |
Static Public Member Functions inherited from QSSGRenderGraphObject | |
static constexpr bool | isNodeType (Type type) noexcept |
static constexpr bool | isLight (Type type) noexcept |
static constexpr bool | isCamera (Type type) noexcept |
static constexpr bool | isMaterial (Type type) noexcept |
static constexpr bool | isTexture (Type type) noexcept |
static constexpr bool | isRenderable (Type type) noexcept |
static constexpr bool | isResource (Type type) noexcept |
static constexpr bool | isExtension (Type type) noexcept |
static constexpr bool | isUserType (Type type) noexcept |
Protected Member Functions inherited from QSSGRenderGraphObject | |
QSSGRenderGraphObject (QSSGRenderGraphObject::Type inType) | |
QSSGRenderGraphObject (QSSGRenderGraphObject::Type inType, FlagT inFlags) | |
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 16 of file qssgrendereffect.cpp.
QSSGRenderEffect::~QSSGRenderEffect | ( | ) |
Definition at line 18 of file qssgrendereffect.cpp.
References resetCommands().
void QSSGRenderEffect::clearDirty | ( | ) |
Definition at line 28 of file qssgrendereffect.cpp.
void QSSGRenderEffect::finalizeShaders | ( | const QSSGRenderLayer & | layer, |
QSSGRenderContextInterface * | renderContext ) |
Definition at line 64 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(), QSSGLayerRenderData::setTonemapFeatures(), QCryptographicHash::Sha1, QSSGRenderContextInterface::shaderLibraryManager(), QSSGRenderEffect::ShaderPrepPassData::shaderPathKeyPrefix, shaderPrepData, QSSGShaderCache::Vertex, QSSGRenderEffect::ShaderPrepPassData::vertexMetaData, and QSSGRenderEffect::ShaderPrepPassData::vertexShaderCode.
|
inline |
Definition at line 80 of file qssgrendereffect_p.h.
void QSSGRenderEffect::markDirty | ( | ) |
Definition at line 23 of file qssgrendereffect.cpp.
void QSSGRenderEffect::resetCommands | ( | ) |
Definition at line 149 of file qssgrendereffect.cpp.
References commands, and shaderPrepData.
Referenced by ~QSSGRenderEffect().
const char* QSSGRenderEffect::className = nullptr |
Definition at line 90 of file qssgrendereffect_p.h.
Definition at line 86 of file qssgrendereffect_p.h.
Referenced by resetCommands().
QString QSSGRenderEffect::debugObjectName |
Definition at line 111 of file qssgrendereffect_p.h.
Definition at line 91 of file qssgrendereffect_p.h.
bool QSSGRenderEffect::incompleteBuildTimeObject = false |
Definition at line 93 of file qssgrendereffect_p.h.
Referenced by QQuick3DEffect::updateSpatialNode().
QSSGRenderEffect* QSSGRenderEffect::m_nextEffect = nullptr |
Definition at line 76 of file qssgrendereffect_p.h.
Referenced by finalizeShaders(), QSSGRenderLayer::hasEffect(), and QQuick3DSceneRenderer::synchronize().
QSSGRenderTextureFormat::Format QSSGRenderEffect::outputFormat = QSSGRenderTextureFormat::Unknown |
Definition at line 94 of file qssgrendereffect_p.h.
QVector<ShaderPrepPassData> QSSGRenderEffect::passes |
Definition at line 108 of file qssgrendereffect_p.h.
Definition at line 74 of file qssgrendereffect_p.h.
bool QSSGRenderEffect::requiresDepthTexture = false |
Definition at line 92 of file qssgrendereffect_p.h.
struct { ... } QSSGRenderEffect::shaderPrepData |
Referenced by finalizeShaders(), and resetCommands().
QVector<TextureProperty> QSSGRenderEffect::textureProperties |
Definition at line 59 of file qssgrendereffect_p.h.
bool QSSGRenderEffect::valid = false |
Definition at line 107 of file qssgrendereffect_p.h.