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

#include <qssgrendershadercache_p.h>

+ Collaboration diagram for QSSGShaderFeatures:

Public Types

enum class  Feature : FlagType {
  LightProbe = (1 << 8) , IblOrientation = (1 << 9) + 1 , Ssm = (1 << 10) + 2 , Ssao = (1 << 11) + 3 ,
  DepthPass = (1 << 12) + 4 , OrthoShadowPass = (1 << 13) + 5 , CubeShadowPass = (1 << 14) + 6 , LinearTonemapping = (1 << 15) + 7 ,
  AcesTonemapping = (1 << 16) + 8 , HejlDawsonTonemapping = (1 << 17) + 9 , FilmicTonemapping = (1 << 18) + 10 , RGBELightProbe = (1 << 19) + 11 ,
  OpaqueDepthPrePass = (1 << 20) + 12 , ReflectionProbe = (1 << 21) + 13 , ReduceMaxNumLights = (1 << 22) + 14 , Lightmap = (1 << 23) + 15 ,
  DisableMultiView = (1 << 24) + 16 , ForceIblExposure = (1 << 25) + 17 , LastFeature
}
 
using FlagType = quint32
 

Public Member Functions

constexpr bool isNull () const
 
constexpr bool isSet (Feature feature) const
 
void set (Feature feature, bool val)
 
void disableTonemapping ()
 

Static Public Member Functions

static const char * asDefineString (QSSGShaderFeatures::Feature feature)
 
static Feature fromIndex (quint32 idx)
 

Public Attributes

FlagType flags = 0
 

Static Public Attributes

static constexpr FlagType IndexMask = 0xff
 
static constexpr quint32 Count = (static_cast<FlagType>(Feature::LastFeature) & IndexMask)
 

Friends

bool operator== (QSSGShaderFeatures a, QSSGShaderFeatures b)
 
QDebug operator<< (QDebug stream, const QSSGShaderFeatures &features)
 

Detailed Description

Definition at line 38 of file qssgrendershadercache_p.h.

Member Typedef Documentation

◆ FlagType

Member Enumeration Documentation

◆ Feature

Enumerator
LightProbe 
IblOrientation 
Ssm 
Ssao 
DepthPass 
OrthoShadowPass 
CubeShadowPass 
LinearTonemapping 
AcesTonemapping 
HejlDawsonTonemapping 
FilmicTonemapping 
RGBELightProbe 
OpaqueDepthPrePass 
ReflectionProbe 
ReduceMaxNumLights 
Lightmap 
DisableMultiView 
ForceIblExposure 
LastFeature 

Definition at line 66 of file qssgrendershadercache_p.h.

Member Function Documentation

◆ asDefineString()

const char * QSSGShaderFeatures::asDefineString ( QSSGShaderFeatures::Feature feature)
static

Definition at line 85 of file qssgrendershadercache.cpp.

References DefineTable, and IndexMask.

◆ disableTonemapping()

void QSSGShaderFeatures::disableTonemapping ( )
inline

Definition at line 104 of file qssgrendershadercache_p.h.

References set.

Referenced by ScreenMapPass::renderPrep(), and RenderHelpers::rhiPrepareRenderable().

+ Here is the caller graph for this function:

◆ fromIndex()

QSSGShaderFeatures::Feature QSSGShaderFeatures::fromIndex ( quint32 idx)
static

Definition at line 86 of file qssgrendershadercache.cpp.

References DefineTable.

◆ isNull()

constexpr bool QSSGShaderFeatures::isNull ( ) const
inlineconstexpr

Definition at line 96 of file qssgrendershadercache_p.h.

◆ isSet()

constexpr bool QSSGShaderFeatures::isSet ( Feature feature) const
inlineconstexpr

Definition at line 97 of file qssgrendershadercache_p.h.

Referenced by effectiveMaxLightCount(), generateFragmentShader(), QSSGLayerRenderData::prepareForRender(), RenderHelpers::rhiPrepareRenderable(), QSSGCustomMaterialSystem::rhiPrepareRenderable(), and QSSGCustomMaterialSystem::shadersForCustomMaterial().

+ Here is the caller graph for this function:

◆ set()

void QSSGShaderFeatures::set ( QSSGShaderFeatures::Feature feature,
bool val )

Definition at line 88 of file qssgrendershadercache.cpp.

References IndexMask.

Referenced by QSSGLayerRenderData::prepareForRender(), RenderHelpers::rhiPrepareDepthPass(), RenderHelpers::rhiPrepareRenderable(), rhiPrepareResourcesForReflectionMap(), rhiPrepareResourcesForShadowMap(), and QSSGLayerRenderData::setTonemapFeatures().

+ Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ operator<<

QDebug operator<< ( QDebug stream,
const QSSGShaderFeatures & features )
friend

Definition at line 113 of file qssgrendershadercache_p.h.

◆ operator==

bool operator== ( QSSGShaderFeatures a,
QSSGShaderFeatures b )
friend

Definition at line 102 of file qssgrendershadercache_p.h.

Member Data Documentation

◆ Count

constexpr quint32 QSSGShaderFeatures::Count = (static_cast<FlagType>(Feature::LastFeature) & IndexMask)
staticconstexpr

Definition at line 91 of file qssgrendershadercache_p.h.

◆ flags

FlagType QSSGShaderFeatures::flags = 0

Definition at line 100 of file qssgrendershadercache_p.h.

◆ IndexMask

constexpr FlagType QSSGShaderFeatures::IndexMask = 0xff
staticconstexpr

Definition at line 90 of file qssgrendershadercache_p.h.

Referenced by asDefineString(), qHash(), and set().


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