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 168 of file qssgshadermaterialadapter_p.h.

Member Typedef Documentation

◆ ShaderCodeAndMetaData

◆ StringPair

◆ StringPairList

Constructor & Destructor Documentation

◆ QSSGShaderCustomMaterialAdapter()

QSSGShaderCustomMaterialAdapter::QSSGShaderCustomMaterialAdapter ( const QSSGRenderCustomMaterial & material)

Definition at line 347 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

Implements QSSGShaderMaterialAdapter.

Definition at line 436 of file qssgshadermaterialadapter.cpp.

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

◆ beginPrepareCustomShader()

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

Definition at line 870 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.

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

◆ 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 1108 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.

◆ hasCustomShaderSnippet()

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

Reimplemented from QSSGShaderMaterialAdapter.

Definition at line 638 of file qssgshadermaterialadapter.cpp.

◆ 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

Implements QSSGShaderMaterialAdapter.

Definition at line 461 of file qssgshadermaterialadapter.cpp.

◆ 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 391 of file qssgshadermaterialadapter.cpp.

◆ isClearcoatEnabled()

bool QSSGShaderCustomMaterialAdapter::isClearcoatEnabled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 406 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 401 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 386 of file qssgshadermaterialadapter.cpp.

◆ isMetalnessEnabled()

bool QSSGShaderCustomMaterialAdapter::isMetalnessEnabled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 366 of file qssgshadermaterialadapter.cpp.

◆ isPrincipled()

bool QSSGShaderCustomMaterialAdapter::isPrincipled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 356 of file qssgshadermaterialadapter.cpp.

◆ isSpecularAmountSingleChannelEnabled()

bool QSSGShaderCustomMaterialAdapter::isSpecularAmountSingleChannelEnabled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 396 of file qssgshadermaterialadapter.cpp.

◆ isSpecularEnabled()

bool QSSGShaderCustomMaterialAdapter::isSpecularEnabled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 371 of file qssgshadermaterialadapter.cpp.

◆ isSpecularGlossy()

bool QSSGShaderCustomMaterialAdapter::isSpecularGlossy ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 361 of file qssgshadermaterialadapter.cpp.

◆ isTransmissionEnabled()

bool QSSGShaderCustomMaterialAdapter::isTransmissionEnabled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 411 of file qssgshadermaterialadapter.cpp.

◆ isUnshaded()

bool QSSGShaderCustomMaterialAdapter::isUnshaded ( )
overridevirtual

Reimplemented from QSSGShaderMaterialAdapter.

Definition at line 633 of file qssgshadermaterialadapter.cpp.

◆ isVertexColorsEnabled()

bool QSSGShaderCustomMaterialAdapter::isVertexColorsEnabled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 376 of file qssgshadermaterialadapter.cpp.

◆ isVertexColorsMaskEnabled()

bool QSSGShaderCustomMaterialAdapter::isVertexColorsMaskEnabled ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 381 of file qssgshadermaterialadapter.cpp.

◆ lineWidth()

float QSSGShaderCustomMaterialAdapter::lineWidth ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 578 of file qssgshadermaterialadapter.cpp.

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

◆ setCustomPropertyUniforms()

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

Reimplemented from QSSGShaderMaterialAdapter.

Definition at line 670 of file qssgshadermaterialadapter.cpp.

◆ specularAmount()

float QSSGShaderCustomMaterialAdapter::specularAmount ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 538 of file qssgshadermaterialadapter.cpp.

◆ specularModel()

QSSGRenderDefaultMaterial::MaterialSpecularModel QSSGShaderCustomMaterialAdapter::specularModel ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 431 of file qssgshadermaterialadapter.cpp.

◆ 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

Implements QSSGShaderMaterialAdapter.

Definition at line 426 of file qssgshadermaterialadapter.cpp.

◆ usesCustomSkinning()

bool QSSGShaderCustomMaterialAdapter::usesCustomSkinning ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 421 of file qssgshadermaterialadapter.cpp.

◆ usesSharedVariables()

bool QSSGShaderCustomMaterialAdapter::usesSharedVariables ( )
overridevirtual

Reimplemented from QSSGShaderMaterialAdapter.

Definition at line 677 of file qssgshadermaterialadapter.cpp.

◆ vertexColorAlphaMask()

QSSGRenderDefaultMaterial::VertexColorMaskFlags QSSGShaderCustomMaterialAdapter::vertexColorAlphaMask ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 456 of file qssgshadermaterialadapter.cpp.

◆ vertexColorBlueMask()

QSSGRenderDefaultMaterial::VertexColorMaskFlags QSSGShaderCustomMaterialAdapter::vertexColorBlueMask ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 451 of file qssgshadermaterialadapter.cpp.

◆ vertexColorGreenMask()

QSSGRenderDefaultMaterial::VertexColorMaskFlags QSSGShaderCustomMaterialAdapter::vertexColorGreenMask ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 446 of file qssgshadermaterialadapter.cpp.

◆ vertexColorRedMask()

QSSGRenderDefaultMaterial::VertexColorMaskFlags QSSGShaderCustomMaterialAdapter::vertexColorRedMask ( )
overridevirtual

Implements QSSGShaderMaterialAdapter.

Definition at line 441 of file qssgshadermaterialadapter.cpp.


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