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
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 , ViewIndex = 1 << 13 , DepthTextureArray = 1 << 14 , ScreenTextureArray = 1 << 15 ,
  ScreenMipTextureArray = 1 << 16 , AoTextureArray = 1 << 17
}
 
enum  { RegularShaderPathKeyIndex = 0 , MultiViewShaderPathKeyIndex = 1 }
 
using TexturePropertyList = QList<TextureProperty>
 
using PropertyList = QList<Property>
 
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

 QSSGRenderCustomMaterial ()
 
 ~QSSGRenderCustomMaterial ()
 
void markDirty ()
 
void clearDirty ()
 
void setAlwaysDirty (bool v)
 
bool isDirty () const
 
- Public Member Functions inherited from QSSGRenderGraphObject
bool hasGraphicsResources () const noexcept
 
virtual Q_QUICK3D_PROFILE_ID_ ~QSSGRenderGraphObject ()
 

Public Attributes

QByteArray m_shaderPathKey [2]
 
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
 
QRhiGraphicsPipeline::BlendFactor m_srcAlphaBlend
 
QRhiGraphicsPipeline::BlendFactor m_dstAlphaBlend
 
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
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 35 of file qssgrendercustommaterial_p.h.

Member Typedef Documentation

◆ FlagT

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

Definition at line 80 of file qssgrendercustommaterial_p.h.

◆ PropertyList

◆ TexturePropertyList

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
RegularShaderPathKeyIndex 
MultiViewShaderPathKeyIndex 

Definition at line 116 of file qssgrendercustommaterial_p.h.

◆ CustomShaderPresenceFlag

Enumerator
Vertex 
Fragment 

Definition at line 88 of file qssgrendercustommaterial_p.h.

◆ Flags

Enumerator
Dirty 
AlwaysDirty 

Definition at line 75 of file qssgrendercustommaterial_p.h.

◆ RenderFlag

Enumerator
Blending 
ScreenTexture 
DepthTexture 
AoTexture 
OverridesPosition 
ProjectionMatrix 
InverseProjectionMatrix 
ScreenMipTexture 
VarColor 
IblOrientation 
Lightmap 
Skinning 
Morphing 
ViewIndex 
DepthTextureArray 
ScreenTextureArray 
ScreenMipTextureArray 
AoTextureArray 

Definition at line 94 of file qssgrendercustommaterial_p.h.

◆ ShadingMode

Enumerator
Unshaded 
Shaded 

Definition at line 82 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 148 of file qssgrendercustommaterial_p.h.

◆ 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 152 of file qssgrendercustommaterial_p.h.

◆ incompleteBuildTimeObject

bool QSSGRenderCustomMaterial::incompleteBuildTimeObject = false

Definition at line 142 of file qssgrendercustommaterial_p.h.

◆ m_cullMode

QSSGCullFaceMode QSSGRenderCustomMaterial::m_cullMode = QSSGCullFaceMode::Back

◆ m_customShaderPresence

CustomShaderPresence QSSGRenderCustomMaterial::m_customShaderPresence

◆ m_depthDrawMode

QSSGDepthDrawMode QSSGRenderCustomMaterial::m_depthDrawMode = QSSGDepthDrawMode::OpaqueOnly

Definition at line 129 of file qssgrendercustommaterial_p.h.

◆ m_dstAlphaBlend

QRhiGraphicsPipeline::BlendFactor QSSGRenderCustomMaterial::m_dstAlphaBlend

◆ m_dstBlend

QRhiGraphicsPipeline::BlendFactor QSSGRenderCustomMaterial::m_dstBlend

◆ m_emissiveMap

QSSGRenderImage* QSSGRenderCustomMaterial::m_emissiveMap = nullptr

Definition at line 127 of file qssgrendercustommaterial_p.h.

◆ m_flags

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

Definition at line 141 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 137 of file qssgrendercustommaterial_p.h.

◆ m_properties

PropertyList QSSGRenderCustomMaterial::m_properties

◆ m_renderFlags

◆ m_shaderPathKey

◆ m_shadingMode

ShadingMode QSSGRenderCustomMaterial::m_shadingMode = ShadingMode::Shaded

◆ m_srcAlphaBlend

QRhiGraphicsPipeline::BlendFactor QSSGRenderCustomMaterial::m_srcAlphaBlend

◆ 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: