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
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 , Clearcoat = 1 << 14 , ClearcoatFresnelScaleBias = 1 << 15 ,
  FresnelScaleBias = 1 << 16 , Transmission = 1 << 17 , NormalTexture = 1 << 18
}
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 , 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

 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 117 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 
Clearcoat 
ClearcoatFresnelScaleBias 
FresnelScaleBias 
Transmission 
NormalTexture 

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.

◆ ~QSSGRenderCustomMaterial()

QSSGRenderCustomMaterial::~QSSGRenderCustomMaterial ( )

Definition at line 41 of file qssgrenderdefaultmaterial.cpp.

Member Function Documentation

◆ clearDirty()

void QSSGRenderCustomMaterial::clearDirty ( )

Definition at line 51 of file qssgrenderdefaultmaterial.cpp.

◆ isDirty()

bool QSSGRenderCustomMaterial::isDirty ( ) const
inlinenodiscard

Definition at line 149 of file qssgrendercustommaterial_p.h.

◆ markDirty()

void QSSGRenderCustomMaterial::markDirty ( )

Definition at line 46 of file qssgrenderdefaultmaterial.cpp.

◆ setAlwaysDirty()

void QSSGRenderCustomMaterial::setAlwaysDirty ( bool v)

Definition at line 56 of file qssgrenderdefaultmaterial.cpp.

Member Data Documentation

◆ adapter

QSSGShaderMaterialAdapter* QSSGRenderCustomMaterial::adapter = nullptr

Definition at line 151 of file qssgrendercustommaterial_p.h.

◆ debugObjectName

QString QSSGRenderCustomMaterial::debugObjectName

Definition at line 153 of file qssgrendercustommaterial_p.h.

◆ incompleteBuildTimeObject

bool QSSGRenderCustomMaterial::incompleteBuildTimeObject = false

Definition at line 143 of file qssgrendercustommaterial_p.h.

◆ m_cullMode

QSSGCullFaceMode QSSGRenderCustomMaterial::m_cullMode = QSSGCullFaceMode::Back

Definition at line 129 of file qssgrendercustommaterial_p.h.

◆ m_customShaderPresence

CustomShaderPresence QSSGRenderCustomMaterial::m_customShaderPresence

Definition at line 122 of file qssgrendercustommaterial_p.h.

◆ m_depthDrawMode

QSSGDepthDrawMode QSSGRenderCustomMaterial::m_depthDrawMode = QSSGDepthDrawMode::OpaqueOnly

Definition at line 130 of file qssgrendercustommaterial_p.h.

◆ m_dstAlphaBlend

QRhiGraphicsPipeline::BlendFactor QSSGRenderCustomMaterial::m_dstAlphaBlend

Definition at line 135 of file qssgrendercustommaterial_p.h.

◆ m_dstBlend

QRhiGraphicsPipeline::BlendFactor QSSGRenderCustomMaterial::m_dstBlend

Definition at line 133 of file qssgrendercustommaterial_p.h.

◆ m_emissiveMap

QSSGRenderImage* QSSGRenderCustomMaterial::m_emissiveMap = nullptr

Definition at line 128 of file qssgrendercustommaterial_p.h.

◆ m_flags

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

Definition at line 142 of file qssgrendercustommaterial_p.h.

◆ m_iblProbe

QSSGRenderImage* QSSGRenderCustomMaterial::m_iblProbe = nullptr

Definition at line 127 of file qssgrendercustommaterial_p.h.

◆ m_lineWidth

float QSSGRenderCustomMaterial::m_lineWidth = 1.0f

Definition at line 136 of file qssgrendercustommaterial_p.h.

◆ m_nextSibling

QSSGRenderGraphObject* QSSGRenderCustomMaterial::m_nextSibling = nullptr

Definition at line 138 of file qssgrendercustommaterial_p.h.

◆ m_properties

PropertyList QSSGRenderCustomMaterial::m_properties

Definition at line 125 of file qssgrendercustommaterial_p.h.

◆ m_renderFlags

RenderFlags QSSGRenderCustomMaterial::m_renderFlags

Definition at line 131 of file qssgrendercustommaterial_p.h.

◆ m_shaderPathKey

QByteArray QSSGRenderCustomMaterial::m_shaderPathKey[2]

Definition at line 121 of file qssgrendercustommaterial_p.h.

◆ m_shadingMode

ShadingMode QSSGRenderCustomMaterial::m_shadingMode = ShadingMode::Shaded

Definition at line 140 of file qssgrendercustommaterial_p.h.

◆ m_srcAlphaBlend

QRhiGraphicsPipeline::BlendFactor QSSGRenderCustomMaterial::m_srcAlphaBlend

Definition at line 134 of file qssgrendercustommaterial_p.h.

◆ m_srcBlend

QRhiGraphicsPipeline::BlendFactor QSSGRenderCustomMaterial::m_srcBlend

Definition at line 132 of file qssgrendercustommaterial_p.h.

◆ m_textureProperties

TexturePropertyList QSSGRenderCustomMaterial::m_textureProperties

Definition at line 124 of file qssgrendercustommaterial_p.h.

◆ m_usesSharedVariables

bool QSSGRenderCustomMaterial::m_usesSharedVariables = false

Definition at line 144 of file qssgrendercustommaterial_p.h.


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