Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QSSGRenderEffect Struct Reference

#include <qssgrendereffect_p.h>

Inheritance diagram for QSSGRenderEffect:
Collaboration diagram for QSSGRenderEffect:

Classes

struct  Property
struct  ShaderPrepPassData
struct  TextureProperty

Public Types

enum class  Flags : quint8 {
  Dirty = 0x1u , UsesDepthTexture = 0x2u , UsesProjectionMatrix = 0x4u , UsesInverseProjectionMatrix = 0x8u ,
  UsesViewMatrix = 0x10u , UsesNormalTexture = 0x20u
}
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 , Root , 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 , TextureProvider
}
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 setFlag (QSSGRenderEffect::Flags flag, bool enabled=true)
bool testFlag (QSSGRenderEffect::Flags flag) 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< QSSGCommand * > commands
const char * className = nullptr
FlagT flags = FlagT(Flags::Dirty)
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 48 of file qssgrendereffect_p.h.

Member Enumeration Documentation

◆ Flags

enum class QSSGRenderEffect::Flags : quint8
strong
Enumerator
Dirty 
UsesDepthTexture 
UsesProjectionMatrix 
UsesInverseProjectionMatrix 
UsesViewMatrix 
UsesNormalTexture 

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.

Member Function Documentation

◆ clearDirty()

void QSSGRenderEffect::clearDirty ( )
inline

Definition at line 84 of file qssgrendereffect_p.h.

◆ finalizeShaders()

void QSSGRenderEffect::finalizeShaders ( const QSSGRenderLayer & layer,
QSSGRenderContextInterface * renderContext )

Definition at line 67 of file qssgrendereffect.cpp.

◆ isDirty()

bool QSSGRenderEffect::isDirty ( ) const
inlinenodiscard

Definition at line 85 of file qssgrendereffect_p.h.

◆ markDirty()

void QSSGRenderEffect::markDirty ( )
inline

Definition at line 83 of file qssgrendereffect_p.h.

◆ resetCommands()

void QSSGRenderEffect::resetCommands ( )

Definition at line 159 of file qssgrendereffect.cpp.

◆ setFlag()

void QSSGRenderEffect::setFlag ( QSSGRenderEffect::Flags flag,
bool enabled = true )

Definition at line 23 of file qssgrendereffect.cpp.

◆ testFlag()

bool QSSGRenderEffect::testFlag ( QSSGRenderEffect::Flags flag) const
inlinenodiscard

Definition at line 88 of file qssgrendereffect_p.h.

Member Data Documentation

◆ className

const char* QSSGRenderEffect::className = nullptr

Definition at line 94 of file qssgrendereffect_p.h.

◆ commands

QVector<QSSGCommand *> QSSGRenderEffect::commands

Definition at line 90 of file qssgrendereffect_p.h.

◆ debugObjectName

QString QSSGRenderEffect::debugObjectName

Definition at line 114 of file qssgrendereffect_p.h.

◆ flags

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

Definition at line 95 of file qssgrendereffect_p.h.

◆ incompleteBuildTimeObject

bool QSSGRenderEffect::incompleteBuildTimeObject = false

Definition at line 96 of file qssgrendereffect_p.h.

◆ m_nextEffect

QSSGRenderEffect* QSSGRenderEffect::m_nextEffect = nullptr

Definition at line 81 of file qssgrendereffect_p.h.

◆ outputFormat

Definition at line 97 of file qssgrendereffect_p.h.

◆ passes

QVector<ShaderPrepPassData> QSSGRenderEffect::passes

Definition at line 111 of file qssgrendereffect_p.h.

◆ properties

QVector<Property> QSSGRenderEffect::properties

Definition at line 79 of file qssgrendereffect_p.h.

◆ [struct]

struct { ... } QSSGRenderEffect::shaderPrepData

◆ textureProperties

QVector<TextureProperty> QSSGRenderEffect::textureProperties

Definition at line 64 of file qssgrendereffect_p.h.

◆ valid

bool QSSGRenderEffect::valid = false

Definition at line 110 of file qssgrendereffect_p.h.


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