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
QSSGShaderCustomMaterialAdapter Struct Referencefinal

#include <qssgshadermaterialadapter_p.h>

+ Inheritance diagram for QSSGShaderCustomMaterialAdapter:
+ Collaboration diagram for QSSGShaderCustomMaterialAdapter:

Public Types

using StringPair = QPair<QByteArray, QByteArray>
 
using StringPairList = QVarLengthArray<StringPair, 16>
 
using ShaderCodeAndMetaData = QPair<QByteArray, QSSGCustomShaderMetaData>
 

Public Member Functions

 QSSGShaderCustomMaterialAdapter (const QSSGRenderCustomMaterial &material)
 
bool isPrincipled () override
 
bool isSpecularGlossy () override
 
bool isMetalnessEnabled () override
 
bool isSpecularEnabled () override
 
bool isVertexColorsEnabled () override
 
bool isVertexColorsMaskEnabled () override
 
bool isInvertOpacityMapValue () override
 
bool isBaseColorSingleChannelEnabled () override
 
bool isSpecularAmountSingleChannelEnabled () override
 
bool isEmissiveSingleChannelEnabled () override
 
bool isClearcoatEnabled () override
 
bool isTransmissionEnabled () override
 
bool isFresnelScaleBiasEnabled () override
 
bool isClearcoatFresnelScaleBiasEnabled () override
 
bool hasLighting () override
 
bool usesCustomSkinning () override
 
bool usesCustomMorphing () override
 
QSSGRenderDefaultMaterial::MaterialSpecularModel specularModel () override
 
QSSGRenderDefaultMaterial::MaterialAlphaMode alphaMode () override
 
QSSGRenderDefaultMaterial::VertexColorMaskFlags vertexColorRedMask () override
 
QSSGRenderDefaultMaterial::VertexColorMaskFlags vertexColorGreenMask () override
 
QSSGRenderDefaultMaterial::VertexColorMaskFlags vertexColorBlueMask () override
 
QSSGRenderDefaultMaterial::VertexColorMaskFlags vertexColorAlphaMask () override
 
QSSGRenderImageiblProbe () override
 
QVector3D emissiveColor () override
 
QVector4D color () override
 
QVector3D specularTint () override
 
float ior () override
 
float fresnelScale () override
 
float fresnelBias () override
 
float fresnelPower () override
 
float clearcoatFresnelScale () override
 
float clearcoatFresnelBias () override
 
float clearcoatFresnelPower () override
 
float metalnessAmount () override
 
float specularAmount () override
 
float specularRoughness () override
 
float bumpAmount () override
 
float translucentFallOff () override
 
float diffuseLightWrap () override
 
float occlusionAmount () override
 
float alphaCutOff () override
 
float pointSize () override
 
float lineWidth () override
 
float heightAmount () override
 
float minHeightSamples () override
 
float maxHeightSamples () override
 
float clearcoatAmount () override
 
float clearcoatRoughnessAmount () override
 
float clearcoatNormalStrength () override
 
float transmissionFactor () override
 
float thicknessFactor () override
 
float attenuationDistance () override
 
QVector3D attenuationColor () override
 
bool isUnshaded () override
 
bool hasCustomShaderSnippet (QSSGShaderCache::ShaderType type) override
 
QByteArray customShaderSnippet (QSSGShaderCache::ShaderType type, QSSGShaderLibraryManager &shaderLibraryManager, bool multiViewCompatible) override
 
bool hasCustomShaderFunction (QSSGShaderCache::ShaderType shaderType, const QByteArray &funcName, QSSGShaderLibraryManager &shaderLibraryManager) override
 
void setCustomPropertyUniforms (char *ubufData, QSSGRhiShaderPipeline &shaderPipeline, const QSSGRenderContextInterface &context) override
 
bool usesSharedVariables () override
 
- Public Member Functions inherited from QSSGShaderMaterialAdapter
virtual ~QSSGShaderMaterialAdapter ()
 

Static Public Member Functions

static ShaderCodeAndMetaData prepareCustomShader (QByteArray &dst, const QByteArray &shaderCode, QSSGShaderCache::ShaderType type, const StringPairList &baseUniforms, const StringPairList &baseInputs=StringPairList(), const StringPairList &baseOutputs=StringPairList(), bool multiViewCompatible=false)
 
- Static Public Member Functions inherited from QSSGShaderMaterialAdapter
static QSSGShaderMaterialAdaptercreate (const QSSGRenderGraphObject &materialNode)
 

Detailed Description

Definition at line 166 of file qssgshadermaterialadapter_p.h.

Member Typedef Documentation

◆ ShaderCodeAndMetaData

◆ StringPair

◆ StringPairList

Constructor & Destructor Documentation

◆ QSSGShaderCustomMaterialAdapter()

QSSGShaderCustomMaterialAdapter::QSSGShaderCustomMaterialAdapter ( const QSSGRenderCustomMaterial & material)

Definition at line 345 of file qssgshadermaterialadapter.cpp.

Member Function Documentation

◆ alphaCutOff()

float QSSGShaderCustomMaterialAdapter::alphaCutOff ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 568 of file qssgshadermaterialadapter.cpp.

◆ alphaMode()

QSSGRenderDefaultMaterial::MaterialAlphaMode QSSGShaderCustomMaterialAdapter::alphaMode ( )
overridevirtual

◆ attenuationColor()

QVector3D QSSGShaderCustomMaterialAdapter::attenuationColor ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 628 of file qssgshadermaterialadapter.cpp.

◆ attenuationDistance()

float QSSGShaderCustomMaterialAdapter::attenuationDistance ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 623 of file qssgshadermaterialadapter.cpp.

◆ bumpAmount()

float QSSGShaderCustomMaterialAdapter::bumpAmount ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 548 of file qssgshadermaterialadapter.cpp.

◆ clearcoatAmount()

float QSSGShaderCustomMaterialAdapter::clearcoatAmount ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 598 of file qssgshadermaterialadapter.cpp.

◆ clearcoatFresnelBias()

float QSSGShaderCustomMaterialAdapter::clearcoatFresnelBias ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 523 of file qssgshadermaterialadapter.cpp.

◆ clearcoatFresnelPower()

float QSSGShaderCustomMaterialAdapter::clearcoatFresnelPower ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 528 of file qssgshadermaterialadapter.cpp.

◆ clearcoatFresnelScale()

float QSSGShaderCustomMaterialAdapter::clearcoatFresnelScale ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 518 of file qssgshadermaterialadapter.cpp.

◆ clearcoatNormalStrength()

float QSSGShaderCustomMaterialAdapter::clearcoatNormalStrength ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 608 of file qssgshadermaterialadapter.cpp.

◆ clearcoatRoughnessAmount()

float QSSGShaderCustomMaterialAdapter::clearcoatRoughnessAmount ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 603 of file qssgshadermaterialadapter.cpp.

◆ color()

QVector4D QSSGShaderCustomMaterialAdapter::color ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 478 of file qssgshadermaterialadapter.cpp.

◆ customShaderSnippet()

QByteArray QSSGShaderCustomMaterialAdapter::customShaderSnippet ( QSSGShaderCache::ShaderType type,
QSSGShaderLibraryManager & shaderLibraryManager,
bool multiViewCompatible )
overridevirtual

Reimplemented from QSSGShaderMaterialAdapter.

Definition at line 646 of file qssgshadermaterialadapter.cpp.

References QSSGShaderLibraryManager::getShaderSource(), hasCustomShaderSnippet(), QSSGRenderCustomMaterial::m_shaderPathKey, QSSGRenderCustomMaterial::MultiViewShaderPathKeyIndex, QByteArray(), and QSSGRenderCustomMaterial::RegularShaderPathKeyIndex.

+ Here is the call graph for this function:

◆ diffuseLightWrap()

float QSSGShaderCustomMaterialAdapter::diffuseLightWrap ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 558 of file qssgshadermaterialadapter.cpp.

◆ emissiveColor()

QVector3D QSSGShaderCustomMaterialAdapter::emissiveColor ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 473 of file qssgshadermaterialadapter.cpp.

◆ fresnelBias()

float QSSGShaderCustomMaterialAdapter::fresnelBias ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 503 of file qssgshadermaterialadapter.cpp.

◆ fresnelPower()

float QSSGShaderCustomMaterialAdapter::fresnelPower ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 508 of file qssgshadermaterialadapter.cpp.

◆ fresnelScale()

float QSSGShaderCustomMaterialAdapter::fresnelScale ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 498 of file qssgshadermaterialadapter.cpp.

◆ hasCustomShaderFunction()

bool QSSGShaderCustomMaterialAdapter::hasCustomShaderFunction ( QSSGShaderCache::ShaderType shaderType,
const QByteArray & funcName,
QSSGShaderLibraryManager & shaderLibraryManager )
overridevirtual

Reimplemented from QSSGShaderMaterialAdapter.

Definition at line 659 of file qssgshadermaterialadapter.cpp.

References QSet< T >::contains(), QSSGCustomShaderMetaData::customFunctions, QSSGShaderLibraryManager::getShaderMetaData(), hasCustomShaderSnippet(), QSSGRenderCustomMaterial::m_shaderPathKey, and QSSGRenderCustomMaterial::RegularShaderPathKeyIndex.

+ Here is the call graph for this function:

◆ hasCustomShaderSnippet()

bool QSSGShaderCustomMaterialAdapter::hasCustomShaderSnippet ( QSSGShaderCache::ShaderType type)
overridevirtual

Reimplemented from QSSGShaderMaterialAdapter.

Definition at line 638 of file qssgshadermaterialadapter.cpp.

References QSSGRenderCustomMaterial::Fragment, QSSGRenderCustomMaterial::m_customShaderPresence, QSSGRenderCustomMaterial::Vertex, and QSSGShaderCache::Vertex.

Referenced by customShaderSnippet(), and hasCustomShaderFunction().

+ Here is the caller graph for this function:

◆ hasLighting()

bool QSSGShaderCustomMaterialAdapter::hasLighting ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 416 of file qssgshadermaterialadapter.cpp.

◆ heightAmount()

float QSSGShaderCustomMaterialAdapter::heightAmount ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 583 of file qssgshadermaterialadapter.cpp.

◆ iblProbe()

QSSGRenderImage * QSSGShaderCustomMaterialAdapter::iblProbe ( )
overridevirtual

◆ ior()

float QSSGShaderCustomMaterialAdapter::ior ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 488 of file qssgshadermaterialadapter.cpp.

◆ isBaseColorSingleChannelEnabled()

bool QSSGShaderCustomMaterialAdapter::isBaseColorSingleChannelEnabled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 389 of file qssgshadermaterialadapter.cpp.

◆ isClearcoatEnabled()

bool QSSGShaderCustomMaterialAdapter::isClearcoatEnabled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 404 of file qssgshadermaterialadapter.cpp.

◆ isClearcoatFresnelScaleBiasEnabled()

bool QSSGShaderCustomMaterialAdapter::isClearcoatFresnelScaleBiasEnabled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 513 of file qssgshadermaterialadapter.cpp.

◆ isEmissiveSingleChannelEnabled()

bool QSSGShaderCustomMaterialAdapter::isEmissiveSingleChannelEnabled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 399 of file qssgshadermaterialadapter.cpp.

◆ isFresnelScaleBiasEnabled()

bool QSSGShaderCustomMaterialAdapter::isFresnelScaleBiasEnabled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 493 of file qssgshadermaterialadapter.cpp.

◆ isInvertOpacityMapValue()

bool QSSGShaderCustomMaterialAdapter::isInvertOpacityMapValue ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 384 of file qssgshadermaterialadapter.cpp.

◆ isMetalnessEnabled()

bool QSSGShaderCustomMaterialAdapter::isMetalnessEnabled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 364 of file qssgshadermaterialadapter.cpp.

◆ isPrincipled()

bool QSSGShaderCustomMaterialAdapter::isPrincipled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 354 of file qssgshadermaterialadapter.cpp.

◆ isSpecularAmountSingleChannelEnabled()

bool QSSGShaderCustomMaterialAdapter::isSpecularAmountSingleChannelEnabled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 394 of file qssgshadermaterialadapter.cpp.

◆ isSpecularEnabled()

bool QSSGShaderCustomMaterialAdapter::isSpecularEnabled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 369 of file qssgshadermaterialadapter.cpp.

◆ isSpecularGlossy()

bool QSSGShaderCustomMaterialAdapter::isSpecularGlossy ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 359 of file qssgshadermaterialadapter.cpp.

◆ isTransmissionEnabled()

bool QSSGShaderCustomMaterialAdapter::isTransmissionEnabled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 410 of file qssgshadermaterialadapter.cpp.

◆ isUnshaded()

bool QSSGShaderCustomMaterialAdapter::isUnshaded ( )
overridevirtual

◆ isVertexColorsEnabled()

bool QSSGShaderCustomMaterialAdapter::isVertexColorsEnabled ( )
overridevirtual

◆ isVertexColorsMaskEnabled()

bool QSSGShaderCustomMaterialAdapter::isVertexColorsMaskEnabled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 379 of file qssgshadermaterialadapter.cpp.

◆ lineWidth()

float QSSGShaderCustomMaterialAdapter::lineWidth ( )
overridevirtual

◆ maxHeightSamples()

float QSSGShaderCustomMaterialAdapter::maxHeightSamples ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 593 of file qssgshadermaterialadapter.cpp.

◆ metalnessAmount()

float QSSGShaderCustomMaterialAdapter::metalnessAmount ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 533 of file qssgshadermaterialadapter.cpp.

◆ minHeightSamples()

float QSSGShaderCustomMaterialAdapter::minHeightSamples ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 588 of file qssgshadermaterialadapter.cpp.

◆ occlusionAmount()

float QSSGShaderCustomMaterialAdapter::occlusionAmount ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 563 of file qssgshadermaterialadapter.cpp.

◆ pointSize()

float QSSGShaderCustomMaterialAdapter::pointSize ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 573 of file qssgshadermaterialadapter.cpp.

◆ prepareCustomShader()

QSSGShaderCustomMaterialAdapter::ShaderCodeAndMetaData QSSGShaderCustomMaterialAdapter::prepareCustomShader ( QByteArray & dst,
const QByteArray & shaderCode,
QSSGShaderCache::ShaderType type,
const StringPairList & baseUniforms,
const StringPairList & baseInputs = StringPairList(),
const StringPairList & baseOutputs = StringPairList(),
bool multiViewCompatible = false )
static

◆ setCustomPropertyUniforms()

void QSSGShaderCustomMaterialAdapter::setCustomPropertyUniforms ( char * ubufData,
QSSGRhiShaderPipeline & shaderPipeline,
const QSSGRenderContextInterface & context )
overridevirtual

Reimplemented from QSSGShaderMaterialAdapter.

Definition at line 670 of file qssgshadermaterialadapter.cpp.

References context.

◆ specularAmount()

float QSSGShaderCustomMaterialAdapter::specularAmount ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 538 of file qssgshadermaterialadapter.cpp.

◆ specularModel()

QSSGRenderDefaultMaterial::MaterialSpecularModel QSSGShaderCustomMaterialAdapter::specularModel ( )
overridevirtual

◆ specularRoughness()

float QSSGShaderCustomMaterialAdapter::specularRoughness ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 543 of file qssgshadermaterialadapter.cpp.

◆ specularTint()

QVector3D QSSGShaderCustomMaterialAdapter::specularTint ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 483 of file qssgshadermaterialadapter.cpp.

◆ thicknessFactor()

float QSSGShaderCustomMaterialAdapter::thicknessFactor ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 618 of file qssgshadermaterialadapter.cpp.

◆ translucentFallOff()

float QSSGShaderCustomMaterialAdapter::translucentFallOff ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 553 of file qssgshadermaterialadapter.cpp.

◆ transmissionFactor()

float QSSGShaderCustomMaterialAdapter::transmissionFactor ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 613 of file qssgshadermaterialadapter.cpp.

◆ usesCustomMorphing()

bool QSSGShaderCustomMaterialAdapter::usesCustomMorphing ( )
overridevirtual

◆ usesCustomSkinning()

bool QSSGShaderCustomMaterialAdapter::usesCustomSkinning ( )
overridevirtual

◆ usesSharedVariables()

bool QSSGShaderCustomMaterialAdapter::usesSharedVariables ( )
overridevirtual

◆ vertexColorAlphaMask()

QSSGRenderDefaultMaterial::VertexColorMaskFlags QSSGShaderCustomMaterialAdapter::vertexColorAlphaMask ( )
overridevirtual

◆ vertexColorBlueMask()

QSSGRenderDefaultMaterial::VertexColorMaskFlags QSSGShaderCustomMaterialAdapter::vertexColorBlueMask ( )
overridevirtual

◆ vertexColorGreenMask()

QSSGRenderDefaultMaterial::VertexColorMaskFlags QSSGShaderCustomMaterialAdapter::vertexColorGreenMask ( )
overridevirtual

◆ vertexColorRedMask()

QSSGRenderDefaultMaterial::VertexColorMaskFlags QSSGShaderCustomMaterialAdapter::vertexColorRedMask ( )
overridevirtual

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