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

#include <qssgshadermaterialadapter_p.h>

Inheritance diagram for QSSGShaderCustomMaterialAdapter:
Collaboration diagram for QSSGShaderCustomMaterialAdapter:

Classes

struct  CustomShaderPrepWorkData

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 void beginPrepareCustomShader (CustomShaderPrepWorkData *workData, ShaderCodeAndMetaData *codeAndMetaData, const QByteArray &shaderCode, QSSGShaderCache::ShaderType type, bool multiViewCompatible)
static void finishPrepareCustomShader (QByteArray *dst, const CustomShaderPrepWorkData &workData, const ShaderCodeAndMetaData &codeAndMetaData, QSSGShaderCache::ShaderType type, bool multiViewCompatible, const StringPairList &baseUniforms, const StringPairList &baseInputs, const StringPairList &baseOutputs, const StringPairList &multiViewDependentSamplers, const StringPairList &multiViewDependentUniforms)
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 566 of file qssgshadermaterialadapter.cpp.

◆ alphaMode()

QSSGRenderDefaultMaterial::MaterialAlphaMode QSSGShaderCustomMaterialAdapter::alphaMode ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 434 of file qssgshadermaterialadapter.cpp.

◆ attenuationColor()

QVector3D QSSGShaderCustomMaterialAdapter::attenuationColor ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 626 of file qssgshadermaterialadapter.cpp.

◆ attenuationDistance()

float QSSGShaderCustomMaterialAdapter::attenuationDistance ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 621 of file qssgshadermaterialadapter.cpp.

◆ beginPrepareCustomShader()

void QSSGShaderCustomMaterialAdapter::beginPrepareCustomShader ( CustomShaderPrepWorkData * workData,
ShaderCodeAndMetaData * codeAndMetaData,
const QByteArray & shaderCode,
QSSGShaderCache::ShaderType type,
bool multiViewCompatible )
static

Definition at line 867 of file qssgshadermaterialadapter.cpp.

◆ bumpAmount()

float QSSGShaderCustomMaterialAdapter::bumpAmount ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 546 of file qssgshadermaterialadapter.cpp.

◆ clearcoatAmount()

float QSSGShaderCustomMaterialAdapter::clearcoatAmount ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 596 of file qssgshadermaterialadapter.cpp.

◆ clearcoatFresnelBias()

float QSSGShaderCustomMaterialAdapter::clearcoatFresnelBias ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 521 of file qssgshadermaterialadapter.cpp.

◆ clearcoatFresnelPower()

float QSSGShaderCustomMaterialAdapter::clearcoatFresnelPower ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 526 of file qssgshadermaterialadapter.cpp.

◆ clearcoatFresnelScale()

float QSSGShaderCustomMaterialAdapter::clearcoatFresnelScale ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 516 of file qssgshadermaterialadapter.cpp.

◆ clearcoatNormalStrength()

float QSSGShaderCustomMaterialAdapter::clearcoatNormalStrength ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 606 of file qssgshadermaterialadapter.cpp.

◆ clearcoatRoughnessAmount()

float QSSGShaderCustomMaterialAdapter::clearcoatRoughnessAmount ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 601 of file qssgshadermaterialadapter.cpp.

◆ color()

QVector4D QSSGShaderCustomMaterialAdapter::color ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 476 of file qssgshadermaterialadapter.cpp.

◆ customShaderSnippet()

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

Reimplemented from QSSGShaderMaterialAdapter.

Definition at line 644 of file qssgshadermaterialadapter.cpp.

◆ diffuseLightWrap()

float QSSGShaderCustomMaterialAdapter::diffuseLightWrap ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 556 of file qssgshadermaterialadapter.cpp.

◆ emissiveColor()

QVector3D QSSGShaderCustomMaterialAdapter::emissiveColor ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 471 of file qssgshadermaterialadapter.cpp.

◆ finishPrepareCustomShader()

void QSSGShaderCustomMaterialAdapter::finishPrepareCustomShader ( QByteArray * dst,
const CustomShaderPrepWorkData & workData,
const ShaderCodeAndMetaData & codeAndMetaData,
QSSGShaderCache::ShaderType type,
bool multiViewCompatible,
const StringPairList & baseUniforms,
const StringPairList & baseInputs,
const StringPairList & baseOutputs,
const StringPairList & multiViewDependentSamplers,
const StringPairList & multiViewDependentUniforms )
static

Definition at line 1103 of file qssgshadermaterialadapter.cpp.

◆ fresnelBias()

float QSSGShaderCustomMaterialAdapter::fresnelBias ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 501 of file qssgshadermaterialadapter.cpp.

◆ fresnelPower()

float QSSGShaderCustomMaterialAdapter::fresnelPower ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 506 of file qssgshadermaterialadapter.cpp.

◆ fresnelScale()

float QSSGShaderCustomMaterialAdapter::fresnelScale ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 496 of file qssgshadermaterialadapter.cpp.

◆ hasCustomShaderFunction()

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

Reimplemented from QSSGShaderMaterialAdapter.

Definition at line 657 of file qssgshadermaterialadapter.cpp.

◆ hasCustomShaderSnippet()

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

Reimplemented from QSSGShaderMaterialAdapter.

Definition at line 636 of file qssgshadermaterialadapter.cpp.

◆ hasLighting()

bool QSSGShaderCustomMaterialAdapter::hasLighting ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 414 of file qssgshadermaterialadapter.cpp.

◆ heightAmount()

float QSSGShaderCustomMaterialAdapter::heightAmount ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 581 of file qssgshadermaterialadapter.cpp.

◆ iblProbe()

QSSGRenderImage * QSSGShaderCustomMaterialAdapter::iblProbe ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 459 of file qssgshadermaterialadapter.cpp.

◆ ior()

float QSSGShaderCustomMaterialAdapter::ior ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 486 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 511 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 491 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 409 of file qssgshadermaterialadapter.cpp.

◆ isUnshaded()

bool QSSGShaderCustomMaterialAdapter::isUnshaded ( )
overridevirtual

Reimplemented from QSSGShaderMaterialAdapter.

Definition at line 631 of file qssgshadermaterialadapter.cpp.

◆ isVertexColorsEnabled()

bool QSSGShaderCustomMaterialAdapter::isVertexColorsEnabled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 374 of file qssgshadermaterialadapter.cpp.

◆ isVertexColorsMaskEnabled()

bool QSSGShaderCustomMaterialAdapter::isVertexColorsMaskEnabled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 379 of file qssgshadermaterialadapter.cpp.

◆ lineWidth()

float QSSGShaderCustomMaterialAdapter::lineWidth ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 576 of file qssgshadermaterialadapter.cpp.

◆ maxHeightSamples()

float QSSGShaderCustomMaterialAdapter::maxHeightSamples ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 591 of file qssgshadermaterialadapter.cpp.

◆ metalnessAmount()

float QSSGShaderCustomMaterialAdapter::metalnessAmount ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 531 of file qssgshadermaterialadapter.cpp.

◆ minHeightSamples()

float QSSGShaderCustomMaterialAdapter::minHeightSamples ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 586 of file qssgshadermaterialadapter.cpp.

◆ occlusionAmount()

float QSSGShaderCustomMaterialAdapter::occlusionAmount ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 561 of file qssgshadermaterialadapter.cpp.

◆ pointSize()

float QSSGShaderCustomMaterialAdapter::pointSize ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 571 of file qssgshadermaterialadapter.cpp.

◆ setCustomPropertyUniforms()

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

Reimplemented from QSSGShaderMaterialAdapter.

Definition at line 668 of file qssgshadermaterialadapter.cpp.

◆ specularAmount()

float QSSGShaderCustomMaterialAdapter::specularAmount ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 536 of file qssgshadermaterialadapter.cpp.

◆ specularModel()

QSSGRenderDefaultMaterial::MaterialSpecularModel QSSGShaderCustomMaterialAdapter::specularModel ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 429 of file qssgshadermaterialadapter.cpp.

◆ specularRoughness()

float QSSGShaderCustomMaterialAdapter::specularRoughness ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 541 of file qssgshadermaterialadapter.cpp.

◆ specularTint()

QVector3D QSSGShaderCustomMaterialAdapter::specularTint ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 481 of file qssgshadermaterialadapter.cpp.

◆ thicknessFactor()

float QSSGShaderCustomMaterialAdapter::thicknessFactor ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 616 of file qssgshadermaterialadapter.cpp.

◆ translucentFallOff()

float QSSGShaderCustomMaterialAdapter::translucentFallOff ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 551 of file qssgshadermaterialadapter.cpp.

◆ transmissionFactor()

float QSSGShaderCustomMaterialAdapter::transmissionFactor ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 611 of file qssgshadermaterialadapter.cpp.

◆ usesCustomMorphing()

bool QSSGShaderCustomMaterialAdapter::usesCustomMorphing ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 424 of file qssgshadermaterialadapter.cpp.

◆ usesCustomSkinning()

bool QSSGShaderCustomMaterialAdapter::usesCustomSkinning ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 419 of file qssgshadermaterialadapter.cpp.

◆ usesSharedVariables()

bool QSSGShaderCustomMaterialAdapter::usesSharedVariables ( )
overridevirtual

Reimplemented from QSSGShaderMaterialAdapter.

Definition at line 675 of file qssgshadermaterialadapter.cpp.

◆ vertexColorAlphaMask()

QSSGRenderDefaultMaterial::VertexColorMaskFlags QSSGShaderCustomMaterialAdapter::vertexColorAlphaMask ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 454 of file qssgshadermaterialadapter.cpp.

◆ vertexColorBlueMask()

QSSGRenderDefaultMaterial::VertexColorMaskFlags QSSGShaderCustomMaterialAdapter::vertexColorBlueMask ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 449 of file qssgshadermaterialadapter.cpp.

◆ vertexColorGreenMask()

QSSGRenderDefaultMaterial::VertexColorMaskFlags QSSGShaderCustomMaterialAdapter::vertexColorGreenMask ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 444 of file qssgshadermaterialadapter.cpp.

◆ vertexColorRedMask()

QSSGRenderDefaultMaterial::VertexColorMaskFlags QSSGShaderCustomMaterialAdapter::vertexColorRedMask ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 439 of file qssgshadermaterialadapter.cpp.


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