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

#include <qssgrendercustommaterial_p.h>

+ Inheritance diagram for QSSGRenderCustomMaterial:
+ Collaboration diagram for QSSGRenderCustomMaterial:

Classes

struct  Property
 
struct  TextureProperty
 

Public Types

enum class  Flags : quint8 { Dirty = 0x1 , AlwaysDirty = 0x2 }
 
enum class  ShadingMode { Unshaded , Shaded }
 
enum class  CustomShaderPresenceFlag { Vertex = 1 << 0 , Fragment = 1 << 1 }
 
enum class  RenderFlag {
  Blending = 1 << 0 , ScreenTexture = 1 << 1 , DepthTexture = 1 << 2 , AoTexture = 1 << 3 ,
  OverridesPosition = 1 << 4 , ProjectionMatrix = 1 << 5 , InverseProjectionMatrix = 1 << 6 , ScreenMipTexture = 1 << 7 ,
  VarColor = 1 << 8 , IblOrientation = 1 << 9 , Lightmap = 1 << 10 , Skinning = 1 << 11 ,
  Morphing = 1 << 12
}
 
using TexturePropertyList = QList< TextureProperty >
 
using PropertyList = QList< Property >
 
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

 QSSGRenderCustomMaterial ()
 
 ~QSSGRenderCustomMaterial ()
 
void markDirty ()
 
void clearDirty ()
 
void setAlwaysDirty (bool v)
 
bool isDirty () const
 
- Public Member Functions inherited from QSSGRenderGraphObject
Q_QUICK3D_PROFILE_ID QSSGRenderGraphObject (QSSGRenderGraphObject::Type inType)
 
virtual ~QSSGRenderGraphObject ()
 

Public Attributes

QByteArray m_shaderPathKey
 
CustomShaderPresence m_customShaderPresence
 
TexturePropertyList m_textureProperties
 
PropertyList m_properties
 
QSSGRenderImagem_iblProbe = nullptr
 
QSSGRenderImagem_emissiveMap = nullptr
 
QSSGCullFaceMode m_cullMode = QSSGCullFaceMode::Back
 
QSSGDepthDrawMode m_depthDrawMode = QSSGDepthDrawMode::OpaqueOnly
 
RenderFlags m_renderFlags
 
QRhiGraphicsPipeline::BlendFactor m_srcBlend
 
QRhiGraphicsPipeline::BlendFactor m_dstBlend
 
float m_lineWidth = 1.0f
 
QSSGRenderGraphObjectm_nextSibling = nullptr
 
ShadingMode m_shadingMode = ShadingMode::Shaded
 
FlagT m_flags { FlagT(Flags::Dirty) }
 
bool incompleteBuildTimeObject = false
 
bool m_usesSharedVariables = false
 
QSSGShaderMaterialAdapteradapter = nullptr
 
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 qssgrendercustommaterial_p.h.

Member Typedef Documentation

◆ FlagT

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

Definition at line 75 of file qssgrendercustommaterial_p.h.

◆ PropertyList

◆ TexturePropertyList

Member Enumeration Documentation

◆ CustomShaderPresenceFlag

Enumerator
Vertex 
Fragment 

Definition at line 83 of file qssgrendercustommaterial_p.h.

◆ Flags

Enumerator
Dirty 
AlwaysDirty 

Definition at line 70 of file qssgrendercustommaterial_p.h.

◆ RenderFlag

Enumerator
Blending 
ScreenTexture 
DepthTexture 
AoTexture 
OverridesPosition 
ProjectionMatrix 
InverseProjectionMatrix 
ScreenMipTexture 
VarColor 
IblOrientation 
Lightmap 
Skinning 
Morphing 

Definition at line 89 of file qssgrendercustommaterial_p.h.

◆ ShadingMode

Enumerator
Unshaded 
Shaded 

Definition at line 77 of file qssgrendercustommaterial_p.h.

Constructor & Destructor Documentation

◆ QSSGRenderCustomMaterial()

QSSGRenderCustomMaterial::QSSGRenderCustomMaterial ( )

Definition at line 35 of file qssgrenderdefaultmaterial.cpp.

References adapter, and QSSGShaderMaterialAdapter::create().

+ Here is the call graph for this function:

◆ ~QSSGRenderCustomMaterial()

QSSGRenderCustomMaterial::~QSSGRenderCustomMaterial ( )

Definition at line 41 of file qssgrenderdefaultmaterial.cpp.

References adapter.

Member Function Documentation

◆ clearDirty()

void QSSGRenderCustomMaterial::clearDirty ( )

Definition at line 51 of file qssgrenderdefaultmaterial.cpp.

References m_flags.

◆ isDirty()

bool QSSGRenderCustomMaterial::isDirty ( ) const
inline

Definition at line 132 of file qssgrendercustommaterial_p.h.

Referenced by QSSGCustomMaterialSystem::prepareForRender().

+ Here is the caller graph for this function:

◆ markDirty()

void QSSGRenderCustomMaterial::markDirty ( )

Definition at line 46 of file qssgrenderdefaultmaterial.cpp.

References m_flags.

◆ setAlwaysDirty()

void QSSGRenderCustomMaterial::setAlwaysDirty ( bool  v)

Definition at line 56 of file qssgrenderdefaultmaterial.cpp.

References m_flags.

Member Data Documentation

◆ adapter

◆ debugObjectName

QString QSSGRenderCustomMaterial::debugObjectName

Definition at line 136 of file qssgrendercustommaterial_p.h.

◆ incompleteBuildTimeObject

bool QSSGRenderCustomMaterial::incompleteBuildTimeObject = false

◆ m_cullMode

◆ m_customShaderPresence

CustomShaderPresence QSSGRenderCustomMaterial::m_customShaderPresence

◆ m_depthDrawMode

QSSGDepthDrawMode QSSGRenderCustomMaterial::m_depthDrawMode = QSSGDepthDrawMode::OpaqueOnly

Definition at line 115 of file qssgrendercustommaterial_p.h.

◆ m_dstBlend

QRhiGraphicsPipeline::BlendFactor QSSGRenderCustomMaterial::m_dstBlend

◆ m_emissiveMap

QSSGRenderImage* QSSGRenderCustomMaterial::m_emissiveMap = nullptr

Definition at line 113 of file qssgrendercustommaterial_p.h.

◆ m_flags

FlagT QSSGRenderCustomMaterial::m_flags { FlagT(Flags::Dirty) }

Definition at line 125 of file qssgrendercustommaterial_p.h.

Referenced by clearDirty(), markDirty(), and setAlwaysDirty().

◆ m_iblProbe

◆ m_lineWidth

float QSSGRenderCustomMaterial::m_lineWidth = 1.0f

◆ m_nextSibling

QSSGRenderGraphObject* QSSGRenderCustomMaterial::m_nextSibling = nullptr

Definition at line 121 of file qssgrendercustommaterial_p.h.

◆ m_properties

◆ m_renderFlags

◆ m_shaderPathKey

◆ m_shadingMode

◆ m_srcBlend

QRhiGraphicsPipeline::BlendFactor QSSGRenderCustomMaterial::m_srcBlend

◆ m_textureProperties

TexturePropertyList QSSGRenderCustomMaterial::m_textureProperties

◆ m_usesSharedVariables

bool QSSGRenderCustomMaterial::m_usesSharedVariables = false

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