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

#include <qssgrenderdefaultmaterialshadergenerator_p.h>

+ Collaboration diagram for QSSGMaterialShaderGenerator:

Classes

struct  LightVariableNames
 
struct  ShadowVariableNames
 

Public Member Functions

 ~QSSGMaterialShaderGenerator ()=default
 

Static Public Member Functions

static const char * getSamplerName (QSSGRenderableImage::Type type)
 
static QSSGRhiShaderPipelinePtr generateMaterialRhiShader (const QByteArray &inShaderKeyPrefix, QSSGMaterialVertexPipeline &vertexGenerator, const QSSGShaderDefaultMaterialKey &key, const QSSGShaderDefaultMaterialKeyProperties &inProperties, const QSSGShaderFeatures &inFeatureSet, const QSSGRenderGraphObject &inMaterial, const QSSGShaderLightListView &inLights, QSSGRenderableImage *inFirstImage, QSSGShaderLibraryManager &shaderLibraryManager, QSSGShaderCache &theCache)
 
static void setRhiMaterialProperties (const QSSGRenderContextInterface &, QSSGRhiShaderPipeline &shaders, char *ubufData, QSSGRhiGraphicsPipelineState *inPipelineState, const QSSGRenderGraphObject &inMaterial, const QSSGShaderDefaultMaterialKey &inKey, const QSSGShaderDefaultMaterialKeyProperties &inProperties, const QSSGRenderCameraList &inCameras, const QSSGRenderMvpArray &inModelViewProjections, const QMatrix3x3 &inNormalMatrix, const QMatrix4x4 &inGlobalTransform, const QMatrix4x4 &clipSpaceCorrMatrix, const QMatrix4x4 &localInstanceTransform, const QMatrix4x4 &globalInstanceTransform, const QSSGDataView< float > &inMorphWeights, QSSGRenderableImage *inFirstImage, float inOpacity, const QSSGLayerRenderData &inRenderProperties, const QSSGShaderLightListView &inLights, const QSSGShaderReflectionProbe &reflectionProbe, bool receivesShadows, bool receivesReflections, const QVector2D *shadowDepthAdjust, QRhiTexture *lightmapTexture)
 
static const char * directionalLightProcessorArgumentList ()
 
static const char * pointLightProcessorArgumentList ()
 
static const char * spotLightProcessorArgumentList ()
 
static const char * ambientLightProcessorArgumentList ()
 
static const char * specularLightProcessorArgumentList ()
 
static const char * shadedFragmentMainArgumentList ()
 
static const char * postProcessorArgumentList ()
 
static const char * iblProbeProcessorArgumentList ()
 
static const char * vertexMainArgumentList ()
 
static const char * vertexInstancedMainArgumentList ()
 

Detailed Description

Definition at line 33 of file qssgrenderdefaultmaterialshadergenerator_p.h.

Constructor & Destructor Documentation

◆ ~QSSGMaterialShaderGenerator()

QSSGMaterialShaderGenerator::~QSSGMaterialShaderGenerator ( )
default

Member Function Documentation

◆ ambientLightProcessorArgumentList()

const char * QSSGMaterialShaderGenerator::ambientLightProcessorArgumentList ( )
static

Definition at line 437 of file qssgrenderdefaultmaterialshadergenerator.cpp.

Referenced by insertAmbientLightProcessorArgs().

+ Here is the caller graph for this function:

◆ directionalLightProcessorArgumentList()

const char * QSSGMaterialShaderGenerator::directionalLightProcessorArgumentList ( )
static

Definition at line 422 of file qssgrenderdefaultmaterialshadergenerator.cpp.

Referenced by insertDirectionalLightProcessorArgs().

+ Here is the caller graph for this function:

◆ generateMaterialRhiShader()

QSSGRhiShaderPipelinePtr QSSGMaterialShaderGenerator::generateMaterialRhiShader ( const QByteArray & inShaderKeyPrefix,
QSSGMaterialVertexPipeline & vertexGenerator,
const QSSGShaderDefaultMaterialKey & key,
const QSSGShaderDefaultMaterialKeyProperties & inProperties,
const QSSGShaderFeatures & inFeatureSet,
const QSSGRenderGraphObject & inMaterial,
const QSSGShaderLightListView & inLights,
QSSGRenderableImage * inFirstImage,
QSSGShaderLibraryManager & shaderLibraryManager,
QSSGShaderCache & theCache )
static

Definition at line 1918 of file qssgrenderdefaultmaterialshadergenerator.cpp.

References QSSGShaderFeatures::DisableMultiView, and generateFragmentShader().

Referenced by QSSGRendererPrivate::generateRhiShaderPipelineImpl(), and QSSGCustomMaterialSystem::shadersForCustomMaterial().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSamplerName()

const char * QSSGMaterialShaderGenerator::getSamplerName ( QSSGRenderableImage::Type type)
static

Definition at line 119 of file qssgrenderdefaultmaterialshadergenerator.cpp.

Referenced by addOpaqueDepthPrePassBindings(), RenderHelpers::rhiPrepareRenderable(), and QSSGCustomMaterialSystem::rhiPrepareRenderable().

+ Here is the caller graph for this function:

◆ iblProbeProcessorArgumentList()

const char * QSSGMaterialShaderGenerator::iblProbeProcessorArgumentList ( )
static

Definition at line 457 of file qssgrenderdefaultmaterialshadergenerator.cpp.

Referenced by insertIblProbeProcessorArgs().

+ Here is the caller graph for this function:

◆ pointLightProcessorArgumentList()

const char * QSSGMaterialShaderGenerator::pointLightProcessorArgumentList ( )
static

Definition at line 427 of file qssgrenderdefaultmaterialshadergenerator.cpp.

Referenced by insertPointLightProcessorArgs().

+ Here is the caller graph for this function:

◆ postProcessorArgumentList()

const char * QSSGMaterialShaderGenerator::postProcessorArgumentList ( )
static

Definition at line 452 of file qssgrenderdefaultmaterialshadergenerator.cpp.

Referenced by insertPostProcessorArgs().

+ Here is the caller graph for this function:

◆ setRhiMaterialProperties()

void QSSGMaterialShaderGenerator::setRhiMaterialProperties ( const QSSGRenderContextInterface & renderContext,
QSSGRhiShaderPipeline & shaders,
char * ubufData,
QSSGRhiGraphicsPipelineState * inPipelineState,
const QSSGRenderGraphObject & inMaterial,
const QSSGShaderDefaultMaterialKey & inKey,
const QSSGShaderDefaultMaterialKeyProperties & inProperties,
const QSSGRenderCameraList & inCameras,
const QSSGRenderMvpArray & inModelViewProjections,
const QMatrix3x3 & inNormalMatrix,
const QMatrix4x4 & inGlobalTransform,
const QMatrix4x4 & clipSpaceCorrMatrix,
const QMatrix4x4 & localInstanceTransform,
const QMatrix4x4 & globalInstanceTransform,
const QSSGDataView< float > & inMorphWeights,
QSSGRenderableImage * inFirstImage,
float inOpacity,
const QSSGLayerRenderData & inRenderProperties,
const QSSGShaderLightListView & inLights,
const QSSGShaderReflectionProbe & reflectionProbe,
bool receivesShadows,
bool receivesReflections,
const QVector2D * shadowDepthAdjust,
QRhiTexture * lightmapTexture )
static

Definition at line 1970 of file qssgrenderdefaultmaterialshadergenerator.cpp.

References QSSGShaderMaterialAdapter::alphaCutOff(), QSSGFrameData::AoTexture, QSSGShaderMaterialAdapter::attenuationColor(), QSSGShaderMaterialAdapter::attenuationDistance(), QSSGRenderContextInterface::bufferManager(), QSSGShaderMaterialAdapter::bumpAmount(), QSSGShaderMaterialAdapter::clearcoatAmount(), QSSGShaderMaterialAdapter::clearcoatFresnelBias(), QSSGShaderMaterialAdapter::clearcoatFresnelPower(), QSSGShaderMaterialAdapter::clearcoatFresnelScale(), QSSGShaderMaterialAdapter::clearcoatNormalStrength(), QSSGShaderMaterialAdapter::clearcoatRoughnessAmount(), QSSGShaderMaterialAdapter::color(), QSSGShaderLightData::coneAngle, QSSGShaderLightData::constantAttenuation, QMatrix4x4::constData(), QSSGShaderLightsUniformData::count, QSSGFrameData::DepthTexture, QSSGShaderLightData::diffuse, QSSGShaderMaterialAdapter::diffuseLightWrap(), direction, QSSGShaderLightData::direction, QSSGShaderMaterialAdapter::emissiveColor(), QSSGShaderReflectionProbe::enabled, QSSGRenderShaderValue::Float, QSSGShaderMaterialAdapter::fresnelBias(), QSSGShaderMaterialAdapter::fresnelPower(), QSSGShaderMaterialAdapter::fresnelScale(), QSSGLayerRenderData::getCurrent(), getMaterialAdapter(), QSSGLayerRenderData::globalRenderProperties(), QSSGShaderMaterialAdapter::hasLighting(), QSSGShaderMaterialAdapter::heightAmount(), QSSGShaderMaterialAdapter::iblProbe(), QSSGShaderLightData::innerConeAngle, QSSGRenderCustomMaterial::InverseProjectionMatrix, QMatrix4x4::inverted(), QSSGShaderMaterialAdapter::ior(), QSSGShaderMaterialAdapter::isPrincipled(), QSSGShaderMaterialAdapter::isTransmissionEnabled(), QSSGShaderLightsUniformData::lightData, QSSGShaderLightData::linearAttenuation, QSSGShaderMaterialAdapter::lineWidth(), QSSGRenderImageTexture::m_mipmapCount, QSSGRenderableImage::m_nextImage, QSSGRenderCustomMaterial::m_renderFlags, QSSGRenderImageTexture::m_texture, QSSGRhiShaderPipeline::Mat3, QSSGRenderShaderValue::Matrix4x4, QSSGShaderMaterialAdapter::maxHeightSamples(), QSSGShaderMaterialAdapter::metalnessAmount(), QSSGShaderMaterialAdapter::minHeightSamples(), QSSGBufferManager::MipModeBsdf, QSSGShaderMaterialAdapter::occlusionAmount(), QSSGShaderReflectionProbe::parallaxCorrection, QSSGShaderMaterialAdapter::pointSize(), QSSGShaderLightData::position, QSSGShaderReflectionProbe::probeBoxMax, QSSGShaderReflectionProbe::probeBoxMin, QSSGShaderReflectionProbe::probeCubeMapCenter, QSSGRenderCustomMaterial::ProjectionMatrix, Q_ASSERT, qCos(), qDegreesToRadians(), QSSG_GUARD, QSSG_MAX_NUM_LIGHTS, QSSG_MAX_NUM_SHADOW_MAPS, QSSGShaderLightData::quadraticAttenuation, QSSGRenderContextInterface::renderer(), QSSGFrameData::ScreenTexture, QSSGShaderMaterialAdapter::setCustomPropertyUniforms(), setupShadowMapVariableNames(), QSSGShaderLightData::specular, QSSGShaderMaterialAdapter::specularAmount(), QSSGShaderMaterialAdapter::specularRoughness(), QSSGShaderMaterialAdapter::specularTint(), QSSGRhiRenderableTexture::texture, QSSGShaderMaterialAdapter::thicknessFactor(), QSSGUtils::aux::translateConstantAttenuation(), QSSGUtils::aux::translateLinearAttenuation(), QSSGUtils::aux::translateQuadraticAttenuation(), QSSGShaderMaterialAdapter::translucentFallOff(), QSSGShaderMaterialAdapter::transmissionFactor(), Qt::Uninitialized, QSSGRenderShaderValue::Vec3, QVector3D::x(), QVector3D::y(), QVector3D::z(), and ZERO_MATRIX.

Referenced by QSSGCustomMaterialSystem::updateUniformsForCustomMaterial(), and updateUniformsForDefaultMaterial().

+ Here is the caller graph for this function:

◆ shadedFragmentMainArgumentList()

const char * QSSGMaterialShaderGenerator::shadedFragmentMainArgumentList ( )
static

Definition at line 447 of file qssgrenderdefaultmaterialshadergenerator.cpp.

Referenced by insertFragmentMainArgs().

+ Here is the caller graph for this function:

◆ specularLightProcessorArgumentList()

const char * QSSGMaterialShaderGenerator::specularLightProcessorArgumentList ( )
static

Definition at line 442 of file qssgrenderdefaultmaterialshadergenerator.cpp.

Referenced by insertSpecularLightProcessorArgs().

+ Here is the caller graph for this function:

◆ spotLightProcessorArgumentList()

const char * QSSGMaterialShaderGenerator::spotLightProcessorArgumentList ( )
static

Definition at line 432 of file qssgrenderdefaultmaterialshadergenerator.cpp.

Referenced by insertSpotLightProcessorArgs().

+ Here is the caller graph for this function:

◆ vertexInstancedMainArgumentList()

const char * QSSGMaterialShaderGenerator::vertexInstancedMainArgumentList ( )
static

Definition at line 467 of file qssgrenderdefaultmaterialshadergenerator.cpp.

Referenced by insertVertexInstancedMainArgs().

+ Here is the caller graph for this function:

◆ vertexMainArgumentList()

const char * QSSGMaterialShaderGenerator::vertexMainArgumentList ( )
static

Definition at line 462 of file qssgrenderdefaultmaterialshadergenerator.cpp.

Referenced by insertVertexMainArgs().

+ Here is the caller graph for this function:

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