Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
QSSGRenderEffect Struct Reference

#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< TexturePropertytextureProperties
 
QVector< Propertyproperties
 
QSSGRenderEffectm_nextEffect = nullptr
 
QVector< Commandcommands
 
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)
 

Detailed Description

Definition at line 32 of file qssgrendereffect_p.h.

Member Typedef Documentation

◆ FlagT

using QSSGRenderEffect::FlagT = std::underlying_type_t<Flags>

Definition at line 43 of file qssgrendereffect_p.h.

Member Enumeration Documentation

◆ Flags

enum class QSSGRenderEffect::Flags : quint8
strong
Enumerator
Dirty 

Definition at line 39 of file qssgrendereffect_p.h.

Constructor & Destructor Documentation

◆ QSSGRenderEffect()

QT_BEGIN_NAMESPACE QSSGRenderEffect::QSSGRenderEffect ( )

Definition at line 14 of file qssgrendereffect.cpp.

◆ ~QSSGRenderEffect()

QSSGRenderEffect::~QSSGRenderEffect ( )

Definition at line 16 of file qssgrendereffect.cpp.

References resetCommands().

+ Here is the call graph for this function:

Member Function Documentation

◆ clearDirty()

void QSSGRenderEffect::clearDirty ( )

Definition at line 26 of file qssgrendereffect.cpp.

◆ finalizeShaders()

◆ isDirty()

bool QSSGRenderEffect::isDirty ( ) const
inline

Definition at line 79 of file qssgrendereffect_p.h.

◆ markDirty()

void QSSGRenderEffect::markDirty ( )

Definition at line 21 of file qssgrendereffect.cpp.

◆ resetCommands()

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:

Member Data Documentation

◆ className

const char* QSSGRenderEffect::className = nullptr

Definition at line 89 of file qssgrendereffect_p.h.

◆ commands

QVector<Command> QSSGRenderEffect::commands

◆ debugObjectName

QString QSSGRenderEffect::debugObjectName

Definition at line 110 of file qssgrendereffect_p.h.

◆ flags

FlagT QSSGRenderEffect::flags = FlagT(Flags::Dirty)

Definition at line 90 of file qssgrendereffect_p.h.

◆ incompleteBuildTimeObject

bool QSSGRenderEffect::incompleteBuildTimeObject = false

Definition at line 92 of file qssgrendereffect_p.h.

Referenced by QQuick3DEffect::updateSpatialNode().

◆ m_nextEffect

◆ outputFormat

◆ passes

QVector<ShaderPrepPassData> QSSGRenderEffect::passes

Definition at line 107 of file qssgrendereffect_p.h.

◆ properties

QVector<Property> QSSGRenderEffect::properties

Definition at line 73 of file qssgrendereffect_p.h.

Referenced by QQuick3DEffect::updateSpatialNode().

◆ requiresDepthTexture

bool QSSGRenderEffect::requiresDepthTexture = false

Definition at line 91 of file qssgrendereffect_p.h.

◆ [struct]

struct { ... } QSSGRenderEffect::shaderPrepData

Referenced by finalizeShaders(), and resetCommands().

◆ textureProperties

QVector<TextureProperty> QSSGRenderEffect::textureProperties

Definition at line 58 of file qssgrendereffect_p.h.

Referenced by QQuick3DEffect::updateSpatialNode().

◆ valid

bool QSSGRenderEffect::valid = false

Definition at line 106 of file qssgrendereffect_p.h.


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