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>.
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 : 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< 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
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)
 

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 16 of file qssgrendereffect.cpp.

◆ ~QSSGRenderEffect()

QSSGRenderEffect::~QSSGRenderEffect ( )

Definition at line 18 of file qssgrendereffect.cpp.

References resetCommands().

+ Here is the call graph for this function:

Member Function Documentation

◆ clearDirty()

void QSSGRenderEffect::clearDirty ( )

Definition at line 28 of file qssgrendereffect.cpp.

◆ finalizeShaders()

◆ isDirty()

bool QSSGRenderEffect::isDirty ( ) const
inline

Definition at line 80 of file qssgrendereffect_p.h.

◆ markDirty()

void QSSGRenderEffect::markDirty ( )

Definition at line 23 of file qssgrendereffect.cpp.

◆ resetCommands()

void QSSGRenderEffect::resetCommands ( )

Definition at line 149 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 90 of file qssgrendereffect_p.h.

◆ commands

QVector<Command> QSSGRenderEffect::commands

Definition at line 86 of file qssgrendereffect_p.h.

Referenced by resetCommands().

◆ debugObjectName

QString QSSGRenderEffect::debugObjectName

Definition at line 111 of file qssgrendereffect_p.h.

◆ flags

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

Definition at line 91 of file qssgrendereffect_p.h.

◆ incompleteBuildTimeObject

bool QSSGRenderEffect::incompleteBuildTimeObject = false

Definition at line 93 of file qssgrendereffect_p.h.

Referenced by QQuick3DEffect::updateSpatialNode().

◆ m_nextEffect

QSSGRenderEffect* QSSGRenderEffect::m_nextEffect = nullptr

◆ outputFormat

Definition at line 94 of file qssgrendereffect_p.h.

◆ passes

QVector<ShaderPrepPassData> QSSGRenderEffect::passes

Definition at line 108 of file qssgrendereffect_p.h.

◆ properties

QVector<Property> QSSGRenderEffect::properties

Definition at line 74 of file qssgrendereffect_p.h.

◆ requiresDepthTexture

bool QSSGRenderEffect::requiresDepthTexture = false

Definition at line 92 of file qssgrendereffect_p.h.

◆ [struct]

struct { ... } QSSGRenderEffect::shaderPrepData

Referenced by finalizeShaders(), and resetCommands().

◆ textureProperties

QVector<TextureProperty> QSSGRenderEffect::textureProperties

Definition at line 59 of file qssgrendereffect_p.h.

◆ valid

bool QSSGRenderEffect::valid = false

Definition at line 107 of file qssgrendereffect_p.h.


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