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

#include <qssgrendershadercodegenerator_p.h>

+ Inheritance diagram for QSSGFragmentShaderGenerator:
+ Collaboration diagram for QSSGFragmentShaderGenerator:

Public Member Functions

 QSSGFragmentShaderGenerator ()
 
void addShaderIncomingMap () override
 
void addShaderOutgoingMap () override
 
- Public Member Functions inherited from QSSGStageGeneratorBase
 QSSGStageGeneratorBase (QSSGShaderGeneratorStage inStage)
 
virtual ~QSSGStageGeneratorBase ()=default
 
virtual void begin (QSSGShaderGeneratorStageFlags inEnabledStages)
 
virtual void addIncoming (const QByteArray &name, const QByteArray &type)
 
virtual void addOutgoing (const QByteArray &name, const QByteArray &type)
 
virtual void addFlatIncoming (const QByteArray &name, const QByteArray &type)
 
virtual void addFlatOutgoing (const QByteArray &name, const QByteArray &type)
 
virtual void addUniform (const QByteArray &name, const QByteArray &type)
 
virtual void addUniformArray (const QByteArray &name, const QByteArray &type, quint32 size)
 
virtual void addConstantBuffer (const QByteArray &name, const QByteArray &layout)
 
virtual void addConstantBufferParam (const QByteArray &cbName, const QByteArray &paramName, const QByteArray &type)
 
virtual QSSGStageGeneratorBaseoperator<< (const QByteArray &data)
 
virtual void append (const QByteArray &data)
 
QSSGShaderGeneratorStage stage () const
 
void addShaderPass2Marker (ShaderItemType itemType)
 
void addShaderItemMap (ShaderItemType itemType, const TStrTableStrMap &itemMap, ShaderItemMapFlags flags={})
 
virtual void addShaderUniformMap ()
 
virtual void addShaderConstantBufferItemMap (const QByteArray &itemType, const TStrTableStrMap &cbMap, TConstantBufferParamArray cbParamsArray)
 
virtual void appendShaderCode () final
 
virtual void addInclude (const QByteArray &name) final
 
void buildShaderSourcePass1 (QSSGShaderResourceMergeContext *mergeContext)
 
QByteArray buildShaderSourcePass2 (QSSGShaderResourceMergeContext *mergeContext)
 
virtual void addFunction (const QByteArray &functionName) final
 
virtual void addDefinition (const QByteArray &name, const QByteArray &value) final
 

Additional Inherited Members

- Public Types inherited from QSSGStageGeneratorBase
enum class  ShaderItemType { VertexInput , Input , Output , Uniform }
 
enum class  ShaderItemMapFlag { Flat = 0x01 }
 
typedef QMap< QByteArray, QByteArrayTStrTableStrMap
 
typedef QMap< QByteArray, QPair< quint32, QByteArray > > TStrTableSizedStrMap
 
typedef QPair< QByteArray, QByteArrayTParamPair
 
typedef QPair< QByteArray, TParamPairTConstantBufferParamPair
 
typedef QVector< TConstantBufferParamPairTConstantBufferParamArray
 
- Public Attributes inherited from QSSGStageGeneratorBase
TStrTableStrMap m_incoming
 
TStrTableStrMapm_outgoing = nullptr
 
TStrTableStrMap m_flatIncoming
 
TStrTableStrMapm_flatOutgoing = nullptr
 
QSet< QByteArraym_includes
 
TStrTableStrMap m_uniforms
 
TStrTableSizedStrMap m_uniformArrays
 
TStrTableStrMap m_constantBuffers
 
TConstantBufferParamArray m_constantBufferParams
 
QByteArray m_codeBuilder
 
QByteArray m_finalBuilder
 
QSSGShaderGeneratorStage m_stage
 
QSSGShaderGeneratorStageFlags m_enabledStages
 
QList< QByteArraym_addedFunctions
 
TStrTableStrMap m_addedDefinitions
 
QSSGShaderResourceMergeContextm_mergeContext = nullptr
 

Detailed Description

Definition at line 140 of file qssgrendershadercodegenerator_p.h.

Constructor & Destructor Documentation

◆ QSSGFragmentShaderGenerator()

QSSGFragmentShaderGenerator::QSSGFragmentShaderGenerator ( )

Definition at line 524 of file qssgrendershadercodegenerator.cpp.

Member Function Documentation

◆ addShaderIncomingMap()

void QSSGFragmentShaderGenerator::addShaderIncomingMap ( )
overridevirtual

Reimplemented from QSSGStageGeneratorBase.

Definition at line 528 of file qssgrendershadercodegenerator.cpp.

References QSSGStageGeneratorBase::addShaderItemMap(), QSSGStageGeneratorBase::addShaderPass2Marker(), QSSGStageGeneratorBase::Flat, QSSGStageGeneratorBase::Input, QSSGStageGeneratorBase::m_flatIncoming, and QSSGStageGeneratorBase::m_incoming.

+ Here is the call graph for this function:

◆ addShaderOutgoingMap()

void QSSGFragmentShaderGenerator::addShaderOutgoingMap ( )
overridevirtual

Reimplemented from QSSGStageGeneratorBase.

Definition at line 535 of file qssgrendershadercodegenerator.cpp.

References QSSGStageGeneratorBase::addShaderPass2Marker(), and QSSGStageGeneratorBase::Output.

+ Here is the call graph for this function:

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