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
QSSGRhiShaderPipeline Class Reference

#include <qssgrhicontext_p.h>

Collaboration diagram for QSSGRhiShaderPipeline:

Classes

struct  CommonUniformIndices
struct  InstanceLocations

Public Types

enum  StageFlag { UsedWithoutIa = 0x01 }
enum class  UniformFlag { Mat3 = 0x01 }

Public Member Functions

 QSSGRhiShaderPipeline (QSSGRhiContext &context)
QSSGRhiContextcontext () const
bool isNull () const
void addStage (const QRhiShaderStage &stage, StageFlags flags={})
const QRhiShaderStagecbeginStages () const
const QRhiShaderStagecendStages () const
const QRhiShaderStagevertexStage () const
const QRhiShaderStagefragmentStage () const
int ub0Size () const
int ub0LightDataOffset () const
int ub0DirectionalLightDataOffset () const
const QHash< QSSGRhiInputAssemblerState::InputSemantic, QShaderDescription::InOutVariable > & vertexInputs () const
void setUniformValue (char *ubufData, const char *name, const QVariant &value, QSSGRenderShaderValue::Type type)
void setUniform (char *ubufData, const char *name, const void *data, size_t size, int *storeIndex=nullptr, UniformFlags flags={})
void setUniformArray (char *ubufData, const char *name, const void *data, size_t itemCount, QSSGRenderShaderValue::Type type, int *storeIndex=nullptr)
int bindingForTexture (const char *name, int hint=-1)
int bindingForImage (const char *name)
void setShaderResources (char *ubufData, QSSGBufferManager &theBufferManager, const QByteArray &inPropertyName, const QVariant &propertyValue, QSSGRenderShaderValue::Type inPropertyType)
void setLightsEnabled (bool enable)
bool isLightingEnabled () const
void ensureCombinedUniformBuffer (QRhiBuffer **ubuf)
void ensureUniformBuffer (QRhiBuffer **ubuf)
void setLightProbeTexture (QRhiTexture *texture, QSSGRenderTextureCoordOp hTile=QSSGRenderTextureCoordOp::ClampToEdge, QSSGRenderTextureCoordOp vTile=QSSGRenderTextureCoordOp::ClampToEdge)
QRhiTexturelightProbeTexture () const
QPair< QSSGRenderTextureCoordOp, QSSGRenderTextureCoordOplightProbeTiling () const
void setScreenTexture (QRhiTexture *texture)
QRhiTexturescreenTexture () const
void setDepthTexture (QRhiTexture *texture)
QRhiTexturedepthTexture () const
void setNormalTexture (QRhiTexture *texture)
QRhiTexturenormalTexture () const
void setSsaoTexture (QRhiTexture *texture)
QRhiTexturessaoTexture () const
void setLightmapTexture (QRhiTexture *texture)
QRhiTexturelightmapTexture () const
void setMotionVectorTexture (QRhiTexture *texture)
QRhiTextureMotionVectorTexture () const
void setShadowMapAtlasTexture (QRhiTexture *texture)
QRhiTextureshadowMapAtlasTexture () const
void setShadowMapBlueNoiseTexture (QRhiTexture *texture)
QRhiTextureshadowMapBlueNoiseTexture () const
void setOITImages (QRhiTexture *accumulator, QRhiTexture *auxiliary, QRhiTexture *counter)
QRhiTexture ** oitImages ()
void resetExtraTextures ()
void addExtraTexture (const QSSGRhiTexture &t)
int extraTextureCount () const
const QSSGRhiTextureextraTextureAt (int index) const
QSSGRhiTextureextraTextureAt (int index)
QSSGShaderLightsUniformDatalightsUniformData ()
QSSGShaderDirectionalLightsUniformDatadirectionalLightsUniformData ()
InstanceLocations instanceBufferLocations () const
int offsetOfUniform (const QByteArray &name)

Public Attributes

struct QSSGRhiShaderPipeline::CommonUniformIndices commonUniformIndices
struct QSSGRhiShaderPipeline::InstanceLocations instanceLocations

Detailed Description

Definition at line 363 of file qssgrhicontext_p.h.

Member Enumeration Documentation

◆ StageFlag

Enumerator
UsedWithoutIa 

Definition at line 372 of file qssgrhicontext_p.h.

◆ UniformFlag

Enumerator
Mat3 

Definition at line 474 of file qssgrhicontext_p.h.

Constructor & Destructor Documentation

◆ QSSGRhiShaderPipeline()

QSSGRhiShaderPipeline::QSSGRhiShaderPipeline ( QSSGRhiContext & context)
inlineexplicit

Definition at line 367 of file qssgrhicontext_p.h.

Member Function Documentation

◆ addExtraTexture()

void QSSGRhiShaderPipeline::addExtraTexture ( const QSSGRhiTexture & t)
inline

Definition at line 541 of file qssgrhicontext_p.h.

◆ addStage()

void QSSGRhiShaderPipeline::addStage ( const QRhiShaderStage & stage,
StageFlags flags = {} )

Definition at line 386 of file qssgrhicontext.cpp.

◆ bindingForImage()

int QSSGRhiShaderPipeline::bindingForImage ( const char * name)

Definition at line 1044 of file qssgrhicontext.cpp.

◆ bindingForTexture()

int QSSGRhiShaderPipeline::bindingForTexture ( const char * name,
int hint = -1 )

Definition at line 1028 of file qssgrhicontext.cpp.

◆ cbeginStages()

const QRhiShaderStage * QSSGRhiShaderPipeline::cbeginStages ( ) const
inline

Definition at line 381 of file qssgrhicontext_p.h.

◆ cendStages()

const QRhiShaderStage * QSSGRhiShaderPipeline::cendStages ( ) const
inline

Definition at line 382 of file qssgrhicontext_p.h.

◆ context()

QSSGRhiContext & QSSGRhiShaderPipeline::context ( ) const
inline

Definition at line 369 of file qssgrhicontext_p.h.

◆ depthTexture()

QRhiTexture * QSSGRhiShaderPipeline::depthTexture ( ) const
inline

Definition at line 513 of file qssgrhicontext_p.h.

◆ directionalLightsUniformData()

QSSGShaderDirectionalLightsUniformData & QSSGRhiShaderPipeline::directionalLightsUniformData ( )
inline

Definition at line 547 of file qssgrhicontext_p.h.

◆ ensureCombinedUniformBuffer()

void QSSGRhiShaderPipeline::ensureCombinedUniformBuffer ( QRhiBuffer ** ubuf)

Definition at line 1005 of file qssgrhicontext.cpp.

◆ ensureUniformBuffer()

void QSSGRhiShaderPipeline::ensureUniformBuffer ( QRhiBuffer ** ubuf)

Definition at line 1020 of file qssgrhicontext.cpp.

◆ extraTextureAt() [1/2]

QSSGRhiTexture & QSSGRhiShaderPipeline::extraTextureAt ( int index)
inline

Definition at line 544 of file qssgrhicontext_p.h.

◆ extraTextureAt() [2/2]

const QSSGRhiTexture & QSSGRhiShaderPipeline::extraTextureAt ( int index) const
inline

Definition at line 543 of file qssgrhicontext_p.h.

◆ extraTextureCount()

int QSSGRhiShaderPipeline::extraTextureCount ( ) const
inline

Definition at line 542 of file qssgrhicontext_p.h.

◆ fragmentStage()

const QRhiShaderStage * QSSGRhiShaderPipeline::fragmentStage ( ) const
inline

Definition at line 391 of file qssgrhicontext_p.h.

◆ instanceBufferLocations()

InstanceLocations QSSGRhiShaderPipeline::instanceBufferLocations ( ) const
inline

Definition at line 548 of file qssgrhicontext_p.h.

◆ isLightingEnabled()

bool QSSGRhiShaderPipeline::isLightingEnabled ( ) const
inline

Definition at line 492 of file qssgrhicontext_p.h.

◆ isNull()

bool QSSGRhiShaderPipeline::isNull ( ) const
inline

Definition at line 370 of file qssgrhicontext_p.h.

◆ lightmapTexture()

QRhiTexture * QSSGRhiShaderPipeline::lightmapTexture ( ) const
inline

Definition at line 522 of file qssgrhicontext_p.h.

◆ lightProbeTexture()

QRhiTexture * QSSGRhiShaderPipeline::lightProbeTexture ( ) const
inline

Definition at line 503 of file qssgrhicontext_p.h.

◆ lightProbeTiling()

QPair< QSSGRenderTextureCoordOp, QSSGRenderTextureCoordOp > QSSGRhiShaderPipeline::lightProbeTiling ( ) const
inline

Definition at line 504 of file qssgrhicontext_p.h.

◆ lightsUniformData()

QSSGShaderLightsUniformData & QSSGRhiShaderPipeline::lightsUniformData ( )
inline

Definition at line 546 of file qssgrhicontext_p.h.

◆ MotionVectorTexture()

QRhiTexture * QSSGRhiShaderPipeline::MotionVectorTexture ( ) const
inline

Definition at line 525 of file qssgrhicontext_p.h.

◆ normalTexture()

QRhiTexture * QSSGRhiShaderPipeline::normalTexture ( ) const
inline

Definition at line 516 of file qssgrhicontext_p.h.

◆ offsetOfUniform()

int QSSGRhiShaderPipeline::offsetOfUniform ( const QByteArray & name)

Definition at line 644 of file qssgrhicontext.cpp.

◆ oitImages()

QRhiTexture ** QSSGRhiShaderPipeline::oitImages ( )
inline

Definition at line 538 of file qssgrhicontext_p.h.

◆ resetExtraTextures()

void QSSGRhiShaderPipeline::resetExtraTextures ( )
inline

Definition at line 540 of file qssgrhicontext_p.h.

◆ screenTexture()

QRhiTexture * QSSGRhiShaderPipeline::screenTexture ( ) const
inline

Definition at line 510 of file qssgrhicontext_p.h.

◆ setDepthTexture()

void QSSGRhiShaderPipeline::setDepthTexture ( QRhiTexture * texture)
inline

Definition at line 512 of file qssgrhicontext_p.h.

◆ setLightmapTexture()

void QSSGRhiShaderPipeline::setLightmapTexture ( QRhiTexture * texture)
inline

Definition at line 521 of file qssgrhicontext_p.h.

◆ setLightProbeTexture()

Definition at line 497 of file qssgrhicontext_p.h.

◆ setLightsEnabled()

void QSSGRhiShaderPipeline::setLightsEnabled ( bool enable)
inline

Definition at line 491 of file qssgrhicontext_p.h.

◆ setMotionVectorTexture()

void QSSGRhiShaderPipeline::setMotionVectorTexture ( QRhiTexture * texture)
inline

Definition at line 524 of file qssgrhicontext_p.h.

◆ setNormalTexture()

void QSSGRhiShaderPipeline::setNormalTexture ( QRhiTexture * texture)
inline

Definition at line 515 of file qssgrhicontext_p.h.

◆ setOITImages()

void QSSGRhiShaderPipeline::setOITImages ( QRhiTexture * accumulator,
QRhiTexture * auxiliary,
QRhiTexture * counter )
inline

Definition at line 532 of file qssgrhicontext_p.h.

◆ setScreenTexture()

void QSSGRhiShaderPipeline::setScreenTexture ( QRhiTexture * texture)
inline

Definition at line 509 of file qssgrhicontext_p.h.

◆ setShaderResources()

void QSSGRhiShaderPipeline::setShaderResources ( char * ubufData,
QSSGBufferManager & theBufferManager,
const QByteArray & inPropertyName,
const QVariant & propertyValue,
QSSGRenderShaderValue::Type inPropertyType )

Definition at line 1051 of file qssgrhicontext.cpp.

◆ setShadowMapAtlasTexture()

void QSSGRhiShaderPipeline::setShadowMapAtlasTexture ( QRhiTexture * texture)
inline

Definition at line 526 of file qssgrhicontext_p.h.

◆ setShadowMapBlueNoiseTexture()

void QSSGRhiShaderPipeline::setShadowMapBlueNoiseTexture ( QRhiTexture * texture)
inline

Definition at line 529 of file qssgrhicontext_p.h.

◆ setSsaoTexture()

void QSSGRhiShaderPipeline::setSsaoTexture ( QRhiTexture * texture)
inline

Definition at line 518 of file qssgrhicontext_p.h.

◆ setUniform()

void QSSGRhiShaderPipeline::setUniform ( char * ubufData,
const char * name,
const void * data,
size_t size,
int * storeIndex = nullptr,
UniformFlags flags = {} )

Definition at line 657 of file qssgrhicontext.cpp.

◆ setUniformArray()

void QSSGRhiShaderPipeline::setUniformArray ( char * ubufData,
const char * name,
const void * data,
size_t itemCount,
QSSGRenderShaderValue::Type type,
int * storeIndex = nullptr )

Definition at line 719 of file qssgrhicontext.cpp.

◆ setUniformValue()

void QSSGRhiShaderPipeline::setUniformValue ( char * ubufData,
const char * name,
const QVariant & value,
QSSGRenderShaderValue::Type type )

Definition at line 466 of file qssgrhicontext.cpp.

◆ shadowMapAtlasTexture()

QRhiTexture * QSSGRhiShaderPipeline::shadowMapAtlasTexture ( ) const
inline

Definition at line 527 of file qssgrhicontext_p.h.

◆ shadowMapBlueNoiseTexture()

QRhiTexture * QSSGRhiShaderPipeline::shadowMapBlueNoiseTexture ( ) const
inline

Definition at line 530 of file qssgrhicontext_p.h.

◆ ssaoTexture()

QRhiTexture * QSSGRhiShaderPipeline::ssaoTexture ( ) const
inline

Definition at line 519 of file qssgrhicontext_p.h.

◆ ub0DirectionalLightDataOffset()

int QSSGRhiShaderPipeline::ub0DirectionalLightDataOffset ( ) const

Definition at line 461 of file qssgrhicontext.cpp.

◆ ub0LightDataOffset()

int QSSGRhiShaderPipeline::ub0LightDataOffset ( ) const
inline

Definition at line 400 of file qssgrhicontext_p.h.

◆ ub0Size()

int QSSGRhiShaderPipeline::ub0Size ( ) const
inline

Definition at line 399 of file qssgrhicontext_p.h.

◆ vertexInputs()

const QHash< QSSGRhiInputAssemblerState::InputSemantic, QShaderDescription::InOutVariable > & QSSGRhiShaderPipeline::vertexInputs ( ) const
inline

Definition at line 403 of file qssgrhicontext_p.h.

◆ vertexStage()

const QRhiShaderStage * QSSGRhiShaderPipeline::vertexStage ( ) const
inline

Definition at line 384 of file qssgrhicontext_p.h.

Member Data Documentation

◆ commonUniformIndices

struct QSSGRhiShaderPipeline::CommonUniformIndices QSSGRhiShaderPipeline::commonUniformIndices

◆ instanceLocations

struct QSSGRhiShaderPipeline::InstanceLocations QSSGRhiShaderPipeline::instanceLocations

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