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
QSSGRenderUserPass Class Reference

#include <qssgrenderuserpass_p.h>

Inheritance diagram for QSSGRenderUserPass:
Collaboration diagram for QSSGRenderUserPass:

Public Types

enum  MaterialModes { OriginalMaterial , AugmentMaterial , OverrideMaterial }
enum  PassModes { UserPass , SkyboxPass , Item2DPass , InfiniteGridPass }
enum class  Role : quint8 { TopLevel , SubPass }
enum class  DirtyFlag : quint8 { ShaderDirty = 0x1 }
enum class  State : quint8 { None , Ready , Error }
using FlagT = std::underlying_type_t<DirtyFlag>
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 ,
  SceneRoot , 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 , RenderPass ,
  SkyMaterial , Skin , DefaultMaterial = BaseType::Material | BaseType::Resource , PrincipledMaterial ,
  CustomMaterial , SpecularGlossyMaterial , LegacySkin , Image2D = BaseType::Texture | BaseType::Resource ,
  ImageCube , RenderExtension = BaseType::Extension , TextureProvider
}
enum class  Flags : quint32 { HasGraphicsResources = 0x1 , InternallyReserved = 0xffff0000 }
using TypeT = std::underlying_type_t<Type>
using FlagT = std::underlying_type_t<Flags>

Public Member Functions

 QSSGRenderUserPass ()
 ~QSSGRenderUserPass ()
bool isDirty (DirtyFlag flag=DirtyMask) const
void markDirty (DirtyFlag flag)
void clearDirty (DirtyFlag flag)
bool isReady () const
void finalizeShaders (const QSSGRenderContextInterface &ctxctx)
void resetCommands ()
Public Member Functions inherited from QSSGRenderGraphObject
bool hasGraphicsResources () const noexcept
virtual Q_QUICK3D_PROFILE_ID_ ~QSSGRenderGraphObject ()

Static Public Member Functions

static void replaceAugmentMacros (QByteArray &shaderCode, QSSGUserShaderAugmentation &augmentation)
Static Public Member Functions inherited from QSSGRenderGraphObject
static constexpr bool isNodeType (Type typetype) noexcept
static constexpr bool isLight (Type typetype) noexcept
static constexpr bool isCamera (Type typetype) noexcept
static constexpr bool isMaterial (Type typetype) noexcept
static constexpr bool isTexture (Type typetype) noexcept
static constexpr bool isRenderable (Type typetype) noexcept
static constexpr bool isResource (Type typetype) noexcept
static constexpr bool isExtension (Type typetype) noexcept
static constexpr bool isUserType (Type typetype) noexcept

Public Attributes

QVector< QSSGCommand * > commands
QString key
QColor clearColor = Qt::black
QRhiTextureRenderTarget::Flags renderTargetFlags = {}
MaterialModes materialMode = OriginalMaterial
QSSGRenderGraphObject * overrideMaterial = nullptr
QSSGUserShaderAugmentation shaderAugmentation
QRhiDepthStencilClearValue depthStencilClearValue = { }
PassModes passMode = UserPass
Role role = Role::TopLevel
FlagT m_dirtyFlags = 0
State m_state = State::None
quint32 m_nestingDepth = 0
quint32 m_declarationOrder = 0
Public Attributes inherited from QSSGRenderGraphObject
const Type type
FlagT flags { 0 }

Static Public Attributes

static constexpr DirtyFlag DirtyMask { std::numeric_limits<FlagT>::max() }

Additional Inherited Members

Protected Member Functions inherited from QSSGRenderGraphObject
 QSSGRenderGraphObject (QSSGRenderGraphObject::Type inType)
 QSSGRenderGraphObject (QSSGRenderGraphObject::Type inType, FlagT inFlags)

Detailed Description

Definition at line 29 of file qssgrenderuserpass_p.h.

Member Typedef Documentation

◆ FlagT

using QSSGRenderUserPass::FlagT = std::underlying_type_t<DirtyFlag>

Definition at line 54 of file qssgrenderuserpass_p.h.

Member Enumeration Documentation

◆ DirtyFlag

Enumerator
ShaderDirty 

Definition at line 50 of file qssgrenderuserpass_p.h.

◆ MaterialModes

Enumerator
OriginalMaterial 
AugmentMaterial 
OverrideMaterial 

Definition at line 32 of file qssgrenderuserpass_p.h.

◆ PassModes

Enumerator
UserPass 
SkyboxPass 
Item2DPass 
InfiniteGridPass 

Definition at line 38 of file qssgrenderuserpass_p.h.

◆ Role

enum class QSSGRenderUserPass::Role : quint8
strong
Enumerator
TopLevel 
SubPass 

Definition at line 45 of file qssgrenderuserpass_p.h.

◆ State

enum class QSSGRenderUserPass::State : quint8
strong
Enumerator
None 
Ready 
Error 

Definition at line 56 of file qssgrenderuserpass_p.h.

Constructor & Destructor Documentation

◆ QSSGRenderUserPass()

QSSGRenderUserPass::QSSGRenderUserPass ( )

Definition at line 101 of file qssgrenderuserpass.cpp.

◆ ~QSSGRenderUserPass()

QSSGRenderUserPass::~QSSGRenderUserPass ( )

Definition at line 107 of file qssgrenderuserpass.cpp.

Member Function Documentation

◆ clearDirty()

void QSSGRenderUserPass::clearDirty ( DirtyFlag flag)

Definition at line 122 of file qssgrenderuserpass.cpp.

◆ finalizeShaders()

void QSSGRenderUserPass::finalizeShaders ( const QSSGRenderContextInterface & ctx)

Definition at line 174 of file qssgrenderuserpass.cpp.

◆ isDirty()

bool QSSGRenderUserPass::isDirty ( DirtyFlag flag = DirtyMask) const

Definition at line 112 of file qssgrenderuserpass.cpp.

◆ isReady()

bool QSSGRenderUserPass::isReady ( ) const
inline

Definition at line 72 of file qssgrenderuserpass_p.h.

◆ markDirty()

void QSSGRenderUserPass::markDirty ( DirtyFlag flag)

Definition at line 117 of file qssgrenderuserpass.cpp.

◆ replaceAugmentMacros()

void QSSGRenderUserPass::replaceAugmentMacros ( QByteArray & shaderCode,
QSSGUserShaderAugmentation & augmentation )
static

Definition at line 127 of file qssgrenderuserpass.cpp.

◆ resetCommands()

void QSSGRenderUserPass::resetCommands ( )

Definition at line 215 of file qssgrenderuserpass.cpp.

Member Data Documentation

◆ clearColor

QColor QSSGRenderUserPass::clearColor = Qt::black

Definition at line 84 of file qssgrenderuserpass_p.h.

◆ commands

QVector<QSSGCommand *> QSSGRenderUserPass::commands

Definition at line 81 of file qssgrenderuserpass_p.h.

◆ depthStencilClearValue

QRhiDepthStencilClearValue QSSGRenderUserPass::depthStencilClearValue = { }

Definition at line 91 of file qssgrenderuserpass_p.h.

◆ DirtyMask

DirtyFlag QSSGRenderUserPass::DirtyMask { std::numeric_limits<FlagT>::max() }
staticconstexpr

Definition at line 63 of file qssgrenderuserpass_p.h.

◆ key

QString QSSGRenderUserPass::key

Definition at line 83 of file qssgrenderuserpass_p.h.

◆ m_declarationOrder

quint32 QSSGRenderUserPass::m_declarationOrder = 0

Definition at line 105 of file qssgrenderuserpass_p.h.

◆ m_dirtyFlags

FlagT QSSGRenderUserPass::m_dirtyFlags = 0

Definition at line 95 of file qssgrenderuserpass_p.h.

◆ m_nestingDepth

quint32 QSSGRenderUserPass::m_nestingDepth = 0

Definition at line 101 of file qssgrenderuserpass_p.h.

◆ m_state

State QSSGRenderUserPass::m_state = State::None

Definition at line 96 of file qssgrenderuserpass_p.h.

◆ materialMode

MaterialModes QSSGRenderUserPass::materialMode = OriginalMaterial

Definition at line 88 of file qssgrenderuserpass_p.h.

◆ overrideMaterial

QSSGRenderGraphObject* QSSGRenderUserPass::overrideMaterial = nullptr

Definition at line 89 of file qssgrenderuserpass_p.h.

◆ passMode

PassModes QSSGRenderUserPass::passMode = UserPass

Definition at line 92 of file qssgrenderuserpass_p.h.

◆ renderTargetFlags

QRhiTextureRenderTarget::Flags QSSGRenderUserPass::renderTargetFlags = {}

Definition at line 85 of file qssgrenderuserpass_p.h.

◆ role

Role QSSGRenderUserPass::role = Role::TopLevel

Definition at line 93 of file qssgrenderuserpass_p.h.

◆ shaderAugmentation

QSSGUserShaderAugmentation QSSGRenderUserPass::shaderAugmentation

Definition at line 90 of file qssgrenderuserpass_p.h.


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