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)
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 setShadowMapAtlasTexture (QRhiTexture *texture)
QRhiTextureshadowMapAtlasTexture () const
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 357 of file qssgrhicontext_p.h.

Member Enumeration Documentation

◆ StageFlag

Enumerator
UsedWithoutIa 

Definition at line 366 of file qssgrhicontext_p.h.

◆ UniformFlag

Enumerator
Mat3 

Definition at line 464 of file qssgrhicontext_p.h.

Constructor & Destructor Documentation

◆ QSSGRhiShaderPipeline()

QSSGRhiShaderPipeline::QSSGRhiShaderPipeline ( QSSGRhiContext & context)
inlineexplicit

Definition at line 361 of file qssgrhicontext_p.h.

Member Function Documentation

◆ addExtraTexture()

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

Definition at line 511 of file qssgrhicontext_p.h.

◆ addStage()

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

Definition at line 381 of file qssgrhicontext.cpp.

◆ bindingForTexture()

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

Definition at line 1019 of file qssgrhicontext.cpp.

◆ cbeginStages()

const QRhiShaderStage * QSSGRhiShaderPipeline::cbeginStages ( ) const
inline

Definition at line 375 of file qssgrhicontext_p.h.

◆ cendStages()

const QRhiShaderStage * QSSGRhiShaderPipeline::cendStages ( ) const
inline

Definition at line 376 of file qssgrhicontext_p.h.

◆ context()

QSSGRhiContext & QSSGRhiShaderPipeline::context ( ) const
inline

Definition at line 363 of file qssgrhicontext_p.h.

◆ depthTexture()

QRhiTexture * QSSGRhiShaderPipeline::depthTexture ( ) const
inline

Definition at line 496 of file qssgrhicontext_p.h.

◆ directionalLightsUniformData()

QSSGShaderDirectionalLightsUniformData & QSSGRhiShaderPipeline::directionalLightsUniformData ( )
inline

Definition at line 517 of file qssgrhicontext_p.h.

◆ ensureCombinedUniformBuffer()

void QSSGRhiShaderPipeline::ensureCombinedUniformBuffer ( QRhiBuffer ** ubuf)

Definition at line 996 of file qssgrhicontext.cpp.

◆ ensureUniformBuffer()

void QSSGRhiShaderPipeline::ensureUniformBuffer ( QRhiBuffer ** ubuf)

Definition at line 1011 of file qssgrhicontext.cpp.

◆ extraTextureAt() [1/2]

QSSGRhiTexture & QSSGRhiShaderPipeline::extraTextureAt ( int index)
inline

Definition at line 514 of file qssgrhicontext_p.h.

◆ extraTextureAt() [2/2]

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

Definition at line 513 of file qssgrhicontext_p.h.

◆ extraTextureCount()

int QSSGRhiShaderPipeline::extraTextureCount ( ) const
inline

Definition at line 512 of file qssgrhicontext_p.h.

◆ fragmentStage()

const QRhiShaderStage * QSSGRhiShaderPipeline::fragmentStage ( ) const
inline

Definition at line 385 of file qssgrhicontext_p.h.

◆ instanceBufferLocations()

InstanceLocations QSSGRhiShaderPipeline::instanceBufferLocations ( ) const
inline

Definition at line 518 of file qssgrhicontext_p.h.

◆ isLightingEnabled()

bool QSSGRhiShaderPipeline::isLightingEnabled ( ) const
inline

Definition at line 475 of file qssgrhicontext_p.h.

◆ isNull()

bool QSSGRhiShaderPipeline::isNull ( ) const
inline

Definition at line 364 of file qssgrhicontext_p.h.

◆ lightmapTexture()

QRhiTexture * QSSGRhiShaderPipeline::lightmapTexture ( ) const
inline

Definition at line 505 of file qssgrhicontext_p.h.

◆ lightProbeTexture()

QRhiTexture * QSSGRhiShaderPipeline::lightProbeTexture ( ) const
inline

Definition at line 486 of file qssgrhicontext_p.h.

◆ lightProbeTiling()

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

Definition at line 487 of file qssgrhicontext_p.h.

◆ lightsUniformData()

QSSGShaderLightsUniformData & QSSGRhiShaderPipeline::lightsUniformData ( )
inline

Definition at line 516 of file qssgrhicontext_p.h.

◆ normalTexture()

QRhiTexture * QSSGRhiShaderPipeline::normalTexture ( ) const
inline

Definition at line 499 of file qssgrhicontext_p.h.

◆ offsetOfUniform()

int QSSGRhiShaderPipeline::offsetOfUniform ( const QByteArray & name)

Definition at line 635 of file qssgrhicontext.cpp.

◆ resetExtraTextures()

void QSSGRhiShaderPipeline::resetExtraTextures ( )
inline

Definition at line 510 of file qssgrhicontext_p.h.

◆ screenTexture()

QRhiTexture * QSSGRhiShaderPipeline::screenTexture ( ) const
inline

Definition at line 493 of file qssgrhicontext_p.h.

◆ setDepthTexture()

void QSSGRhiShaderPipeline::setDepthTexture ( QRhiTexture * texture)
inline

Definition at line 495 of file qssgrhicontext_p.h.

◆ setLightmapTexture()

void QSSGRhiShaderPipeline::setLightmapTexture ( QRhiTexture * texture)
inline

Definition at line 504 of file qssgrhicontext_p.h.

◆ setLightProbeTexture()

Definition at line 480 of file qssgrhicontext_p.h.

◆ setLightsEnabled()

void QSSGRhiShaderPipeline::setLightsEnabled ( bool enable)
inline

Definition at line 474 of file qssgrhicontext_p.h.

◆ setNormalTexture()

void QSSGRhiShaderPipeline::setNormalTexture ( QRhiTexture * texture)
inline

Definition at line 498 of file qssgrhicontext_p.h.

◆ setScreenTexture()

void QSSGRhiShaderPipeline::setScreenTexture ( QRhiTexture * texture)
inline

Definition at line 492 of file qssgrhicontext_p.h.

◆ setShadowMapAtlasTexture()

void QSSGRhiShaderPipeline::setShadowMapAtlasTexture ( QRhiTexture * texture)
inline

Definition at line 507 of file qssgrhicontext_p.h.

◆ setSsaoTexture()

void QSSGRhiShaderPipeline::setSsaoTexture ( QRhiTexture * texture)
inline

Definition at line 501 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 648 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 710 of file qssgrhicontext.cpp.

◆ setUniformValue()

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

Definition at line 457 of file qssgrhicontext.cpp.

◆ shadowMapAtlasTexture()

QRhiTexture * QSSGRhiShaderPipeline::shadowMapAtlasTexture ( ) const
inline

Definition at line 508 of file qssgrhicontext_p.h.

◆ ssaoTexture()

QRhiTexture * QSSGRhiShaderPipeline::ssaoTexture ( ) const
inline

Definition at line 502 of file qssgrhicontext_p.h.

◆ ub0DirectionalLightDataOffset()

int QSSGRhiShaderPipeline::ub0DirectionalLightDataOffset ( ) const

Definition at line 452 of file qssgrhicontext.cpp.

◆ ub0LightDataOffset()

int QSSGRhiShaderPipeline::ub0LightDataOffset ( ) const
inline

Definition at line 394 of file qssgrhicontext_p.h.

◆ ub0Size()

int QSSGRhiShaderPipeline::ub0Size ( ) const
inline

Definition at line 393 of file qssgrhicontext_p.h.

◆ vertexInputs()

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

Definition at line 397 of file qssgrhicontext_p.h.

◆ vertexStage()

const QRhiShaderStage * QSSGRhiShaderPipeline::vertexStage ( ) const
inline

Definition at line 378 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: