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
QSSGRenderDefaultMaterial Struct Reference

#include <qssgrenderdefaultmaterial_p.h>

+ Inheritance diagram for QSSGRenderDefaultMaterial:
+ Collaboration diagram for QSSGRenderDefaultMaterial:

Public Types

enum class  MaterialLighting : quint8 { NoLighting = 0 , FragmentLighting }
 
enum class  MaterialBlendMode : quint8 { SourceOver = 0 , Screen , Multiply }
 
enum class  MaterialSpecularModel : quint8 { Default = 0 , KGGX }
 
enum  MaterialAlphaMode : quint8 { Default = 0 , Mask , Blend , Opaque }
 
enum  TextureChannelMapping : quint8 { R = 0 , G , B , A }
 
enum  VertexColorMask : quint16 {
  NoMask = 0 , RoughnessMask = 1 , NormalStrengthMask = 2 , SpecularAmountMask = 4 ,
  ClearcoatAmountMask = 8 , ClearcoatRoughnessAmountMask = 16 , ClearcoatNormalStrengthMask = 32 , HeightAmountMask = 64 ,
  MetalnessMask = 128 , OcclusionAmountMask = 256 , ThicknessFactorMask = 512 , TransmissionFactorMask = 1024
}
 
- 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

 QSSGRenderDefaultMaterial (Type type=Type::DefaultMaterial)
 
 ~QSSGRenderDefaultMaterial ()
 
bool isSpecularEnabled () const
 
bool isMetalnessEnabled () const
 
bool isFresnelScaleBiasEnabled () const
 
bool isClearcoatFresnelScaleBiasEnabled () const
 
bool isFresnelEnabled () const
 
bool isVertexColorsEnabled () const
 
bool isVertexColorsMaskEnabled () const
 
bool isInvertOpacityMapValue () const
 
bool isBaseColorSingleChannelEnabled () const
 
bool isSpecularAmountSingleChannelEnabled () const
 
bool isEmissiveSingleChannelEnabled () const
 
bool hasLighting () const
 
bool isClearcoatEnabled () const
 
bool isTransmissionEnabled () const
 
bool isDirty () const
 
void clearDirty ()
 
- Public Member Functions inherited from QSSGRenderGraphObject
bool hasGraphicsResources () const noexcept
 
virtual Q_QUICK3D_PROFILE_ID_ ~QSSGRenderGraphObject ()
 

Public Attributes

QSSGRenderImagecolorMap = nullptr
 
QSSGRenderImageiblProbe = nullptr
 
QSSGRenderImageemissiveMap = nullptr
 
QSSGRenderImagespecularReflection = nullptr
 
QSSGRenderImagespecularMap = nullptr
 
QSSGRenderImageroughnessMap = nullptr
 
QSSGRenderImageopacityMap = nullptr
 
QSSGRenderImagebumpMap = nullptr
 
QSSGRenderImagenormalMap = nullptr
 
QSSGRenderImagetranslucencyMap = nullptr
 
QSSGRenderImagemetalnessMap = nullptr
 
QSSGRenderImageocclusionMap = nullptr
 
QSSGRenderImageheightMap = nullptr
 
QSSGRenderImageclearcoatMap = nullptr
 
QSSGRenderImageclearcoatRoughnessMap = nullptr
 
QSSGRenderImageclearcoatNormalMap = nullptr
 
QSSGRenderImagetransmissionMap = nullptr
 
QSSGRenderImagethicknessMap = nullptr
 
QVector3D specularTint { 1.0f, 1.0f, 1.0f }
 
float ior = 1.45f
 
QVector3D emissiveColor = { 1.0f, 1.0f, 1.0f }
 
QVector4D color { 1.0f, 1.0f, 1.0f, 1.0f }
 
float diffuseLightWrap = 0.0f
 
float fresnelScaleBiasEnabled = false
 
float fresnelScale = 1.0f
 
float fresnelBias = 0.0f
 
float fresnelPower = 0.0f
 
float clearcoatFresnelScaleBiasEnabled = false
 
float clearcoatFresnelScale = 1.0f
 
float clearcoatFresnelBias = 0.0f
 
float clearcoatFresnelPower = 5.0f
 
float specularAmount = 1.0f
 
float specularRoughness = 0.0f
 
float metalnessAmount = 0.0f
 
float opacity = 1.0f
 
bool invertOpacityMapValue = false
 
bool baseColorSingleChannelEnabled = false
 
bool specularAmountSingleChannelEnabled = false
 
bool emissiveSingleChannelEnabled = false
 
float bumpAmount = 0.0f
 
float translucentFalloff = 0.0f
 
float occlusionAmount = 1.0f
 
float alphaCutoff = 0.5f
 
float heightAmount = 0.0f
 
int minHeightSamples = 8
 
int maxHeightSamples = 32
 
float clearcoatAmount = 0.0f
 
float clearcoatRoughnessAmount = 0.0f
 
float clearcoatNormalStrength = 1.0f
 
float transmissionFactor = 0.0f
 
float thicknessFactor = 0.0f
 
float attenuationDistance = std::numeric_limits<float>::infinity()
 
QVector3D attenuationColor { 1.0f, 1.0f, 1.0f }
 
MaterialLighting lighting = MaterialLighting::FragmentLighting
 
QSSGRenderDefaultMaterial::MaterialBlendMode blendMode = QSSGRenderDefaultMaterial::MaterialBlendMode::SourceOver
 
QSSGRenderDefaultMaterial::MaterialSpecularModel specularModel = QSSGRenderDefaultMaterial::MaterialSpecularModel::Default
 
QSSGRenderDefaultMaterial::MaterialAlphaMode alphaMode = QSSGRenderDefaultMaterial::Default
 
QSSGCullFaceMode cullMode = QSSGCullFaceMode::Back
 
QSSGDepthDrawMode depthDrawMode = QSSGDepthDrawMode::OpaqueOnly
 
bool vertexColorsEnabled = false
 
bool vertexColorsMaskEnabled = false
 
bool dirty = true
 
TextureChannelMapping roughnessChannel = TextureChannelMapping::R
 
TextureChannelMapping opacityChannel = TextureChannelMapping::A
 
TextureChannelMapping translucencyChannel = TextureChannelMapping::A
 
TextureChannelMapping metalnessChannel = TextureChannelMapping::R
 
TextureChannelMapping occlusionChannel = TextureChannelMapping::R
 
TextureChannelMapping heightChannel = TextureChannelMapping::R
 
TextureChannelMapping clearcoatChannel = TextureChannelMapping::R
 
TextureChannelMapping clearcoatRoughnessChannel = TextureChannelMapping::G
 
TextureChannelMapping transmissionChannel = TextureChannelMapping::R
 
TextureChannelMapping thicknessChannel = TextureChannelMapping::G
 
TextureChannelMapping baseColorChannel = TextureChannelMapping::R
 
TextureChannelMapping specularAmountChannel = TextureChannelMapping::R
 
TextureChannelMapping emissiveChannel = TextureChannelMapping::R
 
float pointSize = 1.0f
 
float lineWidth = 1.0f
 
VertexColorMaskFlags vertexColorRedMask = VertexColorMask::NoMask
 
VertexColorMaskFlags vertexColorGreenMask = VertexColorMask::NoMask
 
VertexColorMaskFlags vertexColorBlueMask = VertexColorMask::NoMask
 
VertexColorMaskFlags vertexColorAlphaMask = VertexColorMask::NoMask
 
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 31 of file qssgrenderdefaultmaterial_p.h.

Member Enumeration Documentation

◆ MaterialAlphaMode

Enumerator
Default 
Mask 
Blend 
Opaque 

Definition at line 49 of file qssgrenderdefaultmaterial_p.h.

◆ MaterialBlendMode

Enumerator
SourceOver 
Screen 
Multiply 

Definition at line 38 of file qssgrenderdefaultmaterial_p.h.

◆ MaterialLighting

Enumerator
NoLighting 
FragmentLighting 

Definition at line 33 of file qssgrenderdefaultmaterial_p.h.

◆ MaterialSpecularModel

Enumerator
Default 
KGGX 

Definition at line 44 of file qssgrenderdefaultmaterial_p.h.

◆ TextureChannelMapping

Enumerator

Definition at line 56 of file qssgrenderdefaultmaterial_p.h.

◆ VertexColorMask

Enumerator
NoMask 
RoughnessMask 
NormalStrengthMask 
SpecularAmountMask 
ClearcoatAmountMask 
ClearcoatRoughnessAmountMask 
ClearcoatNormalStrengthMask 
HeightAmountMask 
MetalnessMask 
OcclusionAmountMask 
ThicknessFactorMask 
TransmissionFactorMask 

Definition at line 64 of file qssgrenderdefaultmaterial_p.h.

Constructor & Destructor Documentation

◆ QSSGRenderDefaultMaterial()

QT_BEGIN_NAMESPACE QSSGRenderDefaultMaterial::QSSGRenderDefaultMaterial ( Type type = Type::DefaultMaterial)

Definition at line 10 of file qssgrenderdefaultmaterial.cpp.

References adapter, B, QSSGShaderMaterialAdapter::create(), G, metalnessChannel, occlusionChannel, Q_ASSERT, R, and roughnessChannel.

+ Here is the call graph for this function:

◆ ~QSSGRenderDefaultMaterial()

QSSGRenderDefaultMaterial::~QSSGRenderDefaultMaterial ( )

Definition at line 25 of file qssgrenderdefaultmaterial.cpp.

References adapter.

Member Function Documentation

◆ clearDirty()

void QSSGRenderDefaultMaterial::clearDirty ( )

Definition at line 30 of file qssgrenderdefaultmaterial.cpp.

References dirty.

◆ hasLighting()

bool QSSGRenderDefaultMaterial::hasLighting ( ) const
inline

Definition at line 183 of file qssgrenderdefaultmaterial_p.h.

Referenced by QSSGShaderDefaultMaterialAdapter::hasLighting().

+ Here is the caller graph for this function:

◆ isBaseColorSingleChannelEnabled()

bool QSSGRenderDefaultMaterial::isBaseColorSingleChannelEnabled ( ) const
inline

Definition at line 180 of file qssgrenderdefaultmaterial_p.h.

Referenced by QSSGShaderDefaultMaterialAdapter::isBaseColorSingleChannelEnabled().

+ Here is the caller graph for this function:

◆ isClearcoatEnabled()

bool QSSGRenderDefaultMaterial::isClearcoatEnabled ( ) const
inline

Definition at line 184 of file qssgrenderdefaultmaterial_p.h.

Referenced by QSSGShaderDefaultMaterialAdapter::isClearcoatEnabled().

+ Here is the caller graph for this function:

◆ isClearcoatFresnelScaleBiasEnabled()

bool QSSGRenderDefaultMaterial::isClearcoatFresnelScaleBiasEnabled ( ) const
inline

Definition at line 175 of file qssgrenderdefaultmaterial_p.h.

◆ isDirty()

bool QSSGRenderDefaultMaterial::isDirty ( ) const
inline

Definition at line 187 of file qssgrenderdefaultmaterial_p.h.

◆ isEmissiveSingleChannelEnabled()

bool QSSGRenderDefaultMaterial::isEmissiveSingleChannelEnabled ( ) const
inline

Definition at line 182 of file qssgrenderdefaultmaterial_p.h.

Referenced by QSSGShaderDefaultMaterialAdapter::isEmissiveSingleChannelEnabled().

+ Here is the caller graph for this function:

◆ isFresnelEnabled()

bool QSSGRenderDefaultMaterial::isFresnelEnabled ( ) const
inline

Definition at line 176 of file qssgrenderdefaultmaterial_p.h.

◆ isFresnelScaleBiasEnabled()

bool QSSGRenderDefaultMaterial::isFresnelScaleBiasEnabled ( ) const
inline

Definition at line 174 of file qssgrenderdefaultmaterial_p.h.

◆ isInvertOpacityMapValue()

bool QSSGRenderDefaultMaterial::isInvertOpacityMapValue ( ) const
inline

Definition at line 179 of file qssgrenderdefaultmaterial_p.h.

Referenced by QSSGShaderDefaultMaterialAdapter::isInvertOpacityMapValue().

+ Here is the caller graph for this function:

◆ isMetalnessEnabled()

bool QSSGRenderDefaultMaterial::isMetalnessEnabled ( ) const
inline

Definition at line 173 of file qssgrenderdefaultmaterial_p.h.

Referenced by QSSGShaderDefaultMaterialAdapter::isMetalnessEnabled().

+ Here is the caller graph for this function:

◆ isSpecularAmountSingleChannelEnabled()

bool QSSGRenderDefaultMaterial::isSpecularAmountSingleChannelEnabled ( ) const
inline

Definition at line 181 of file qssgrenderdefaultmaterial_p.h.

Referenced by QSSGShaderDefaultMaterialAdapter::isSpecularAmountSingleChannelEnabled().

+ Here is the caller graph for this function:

◆ isSpecularEnabled()

bool QSSGRenderDefaultMaterial::isSpecularEnabled ( ) const
inline

Definition at line 172 of file qssgrenderdefaultmaterial_p.h.

Referenced by QSSGShaderDefaultMaterialAdapter::isSpecularEnabled().

+ Here is the caller graph for this function:

◆ isTransmissionEnabled()

bool QSSGRenderDefaultMaterial::isTransmissionEnabled ( ) const
inline

Definition at line 185 of file qssgrenderdefaultmaterial_p.h.

Referenced by QSSGShaderDefaultMaterialAdapter::isTransmissionEnabled().

+ Here is the caller graph for this function:

◆ isVertexColorsEnabled()

bool QSSGRenderDefaultMaterial::isVertexColorsEnabled ( ) const
inline

Definition at line 177 of file qssgrenderdefaultmaterial_p.h.

Referenced by QSSGShaderDefaultMaterialAdapter::isVertexColorsEnabled().

+ Here is the caller graph for this function:

◆ isVertexColorsMaskEnabled()

bool QSSGRenderDefaultMaterial::isVertexColorsMaskEnabled ( ) const
inline

Definition at line 178 of file qssgrenderdefaultmaterial_p.h.

Referenced by QSSGShaderDefaultMaterialAdapter::isVertexColorsMaskEnabled().

+ Here is the caller graph for this function:

Member Data Documentation

◆ adapter

QSSGShaderMaterialAdapter* QSSGRenderDefaultMaterial::adapter = nullptr

◆ alphaCutoff

◆ alphaMode

◆ attenuationColor

◆ attenuationDistance

float QSSGRenderDefaultMaterial::attenuationDistance = std::numeric_limits<float>::infinity()

◆ baseColorChannel

◆ baseColorSingleChannelEnabled

bool QSSGRenderDefaultMaterial::baseColorSingleChannelEnabled = false

◆ blendMode

◆ bumpAmount

◆ bumpMap

QSSGRenderImage* QSSGRenderDefaultMaterial::bumpMap = nullptr

◆ clearcoatAmount

◆ clearcoatChannel

◆ clearcoatFresnelBias

◆ clearcoatFresnelPower

◆ clearcoatFresnelScale

◆ clearcoatFresnelScaleBiasEnabled

◆ clearcoatMap

◆ clearcoatNormalMap

QSSGRenderImage* QSSGRenderDefaultMaterial::clearcoatNormalMap = nullptr

◆ clearcoatNormalStrength

◆ clearcoatRoughnessAmount

◆ clearcoatRoughnessChannel

◆ clearcoatRoughnessMap

QSSGRenderImage* QSSGRenderDefaultMaterial::clearcoatRoughnessMap = nullptr

◆ color

◆ colorMap

◆ cullMode

QSSGCullFaceMode QSSGRenderDefaultMaterial::cullMode = QSSGCullFaceMode::Back

Definition at line 144 of file qssgrenderdefaultmaterial_p.h.

Referenced by RenderHelpers::rhiPrepareDepthPass().

◆ debugObjectName

QString QSSGRenderDefaultMaterial::debugObjectName

Definition at line 192 of file qssgrenderdefaultmaterial_p.h.

◆ depthDrawMode

QSSGDepthDrawMode QSSGRenderDefaultMaterial::depthDrawMode = QSSGDepthDrawMode::OpaqueOnly

Definition at line 145 of file qssgrenderdefaultmaterial_p.h.

◆ diffuseLightWrap

float QSSGRenderDefaultMaterial::diffuseLightWrap = 0.0f

◆ dirty

bool QSSGRenderDefaultMaterial::dirty = true

Definition at line 148 of file qssgrenderdefaultmaterial_p.h.

Referenced by clearDirty().

◆ emissiveChannel

◆ emissiveColor

◆ emissiveMap

◆ emissiveSingleChannelEnabled

bool QSSGRenderDefaultMaterial::emissiveSingleChannelEnabled = false

◆ fresnelBias

◆ fresnelPower

◆ fresnelScale

◆ fresnelScaleBiasEnabled

◆ heightAmount

◆ heightChannel

◆ heightMap

◆ iblProbe

QSSGRenderImage* QSSGRenderDefaultMaterial::iblProbe = nullptr

◆ invertOpacityMapValue

bool QSSGRenderDefaultMaterial::invertOpacityMapValue = false

◆ ior

◆ lighting

◆ lineWidth

◆ maxHeightSamples

◆ metalnessAmount

float QSSGRenderDefaultMaterial::metalnessAmount = 0.0f

◆ metalnessChannel

TextureChannelMapping QSSGRenderDefaultMaterial::metalnessChannel = TextureChannelMapping::R

◆ metalnessMap

QSSGRenderImage* QSSGRenderDefaultMaterial::metalnessMap = nullptr

◆ minHeightSamples

◆ normalMap

◆ occlusionAmount

◆ occlusionChannel

◆ occlusionMap

◆ opacity

◆ opacityChannel

◆ opacityMap

◆ pointSize

◆ roughnessChannel

◆ roughnessMap

◆ specularAmount

◆ specularAmountChannel

◆ specularAmountSingleChannelEnabled

bool QSSGRenderDefaultMaterial::specularAmountSingleChannelEnabled = false

◆ specularMap

◆ specularModel

◆ specularReflection

QSSGRenderImage* QSSGRenderDefaultMaterial::specularReflection = nullptr

◆ specularRoughness

◆ specularTint

◆ thicknessChannel

◆ thicknessFactor

◆ thicknessMap

◆ translucencyChannel

TextureChannelMapping QSSGRenderDefaultMaterial::translucencyChannel = TextureChannelMapping::A

◆ translucencyMap

QSSGRenderImage* QSSGRenderDefaultMaterial::translucencyMap = nullptr

◆ translucentFalloff

float QSSGRenderDefaultMaterial::translucentFalloff = 0.0f

◆ transmissionChannel

◆ transmissionFactor

◆ transmissionMap

QSSGRenderImage* QSSGRenderDefaultMaterial::transmissionMap = nullptr

◆ vertexColorAlphaMask

◆ vertexColorBlueMask

◆ vertexColorGreenMask

◆ vertexColorRedMask

◆ vertexColorsEnabled

◆ vertexColorsMaskEnabled

bool QSSGRenderDefaultMaterial::vertexColorsMaskEnabled = false

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