Qt 6.x
The Qt SDK
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
QSSGRenderInstanceTable Struct Reference

#include <qssgrenderinstancetable_p.h>

+ Inheritance diagram for QSSGRenderInstanceTable:
+ Collaboration diagram for QSSGRenderInstanceTable:

Public Member Functions

 QSSGRenderInstanceTable ()
 
int count () const
 
qsizetype dataSize () const
 
const voidconstData () const
 
void setData (const QByteArray &data, int count, int stride)
 
void setInstanceCountOverride (int count)
 
int serial () const
 
int stride () const
 
bool hasTransparency ()
 
void setHasTransparency (bool t)
 
void setDepthSorting (bool enable)
 
bool isDepthSortingEnabled ()
 
QMatrix4x4 getTransform (int index) const
 
- Public Member Functions inherited from QSSGRenderNode
 QSSGRenderNode ()
 
 QSSGRenderNode (Type type)
 
 ~QSSGRenderNode () override
 
void markDirty (DirtyFlag dirtyFlag)
 
void clearDirty (DirtyFlag dirtyFlag)
 
constexpr bool isDirty (DirtyFlag dirtyFlag=DirtyFlag::DirtyMask) const
 
void setState (LocalState state, bool on=true)
 
constexpr bool getLocalState (LocalState stateFlag) const
 
constexpr bool getGlobalState (GlobalState stateFlag) const
 
void addChild (QSSGRenderNode &inChild)
 
void removeChild (QSSGRenderNode &inChild)
 
void removeFromGraph ()
 
bool calculateGlobalVariables ()
 
QSSGBounds3 getBounds (QSSGBufferManager &inManager, bool inIncludeChildren=true) const
 
QSSGBounds3 getChildBounds (QSSGBufferManager &inManager) const
 
QVector3D getGlobalPos () const
 
QVector3D getGlobalPivot () const
 
QVector3D getDirection () const
 
QVector3D getScalingCorrectDirection () const
 
void calculateMVPAndNormalMatrix (const QMatrix4x4 &inViewProjection, QMatrix4x4 &outMVP, QMatrix3x3 &outNormalMatrix) const
 
QMatrix3x3 calculateNormalMatrix () const
 
- Public Member Functions inherited from QSSGRenderGraphObject
Q_QUICK3D_PROFILE_ID QSSGRenderGraphObject (QSSGRenderGraphObject::Type inType)
 
virtual ~QSSGRenderGraphObject ()
 

Additional Inherited Members

- Public Types inherited from QSSGRenderNode
enum class  LocalState : quint8 { Active = 1 << 0 , Pickable = 1 << 1 }
 
enum class  GlobalState : quint8 { Active = 1 << 2 , Pickable = 1 << 3 }
 
enum class  DirtyFlag : quint32 {
  TransformDirty = 1 << 4 , OpacityDirty = 1 << 5 , ActiveDirty = 1 << 6 , PickableDirty = 1 << 7 ,
  SubNodeDirty = 1 << 8 , GlobalValuesDirty = TransformDirty | OpacityDirty | ActiveDirty | PickableDirty , DirtyMask = GlobalValuesDirty | SubNodeDirty
}
 
using FlagT = std::underlying_type_t< DirtyFlag >
 
using ChildList = QSSGInvasiveLinkedList< QSSGRenderNode, &QSSGRenderNode::previousSibling, &QSSGRenderNode::nextSibling >
 
- Public Types inherited from QSSGRenderGraphObject
enum  BaseType : quint16 {
  Node = 0x10 , Light = 0x20 , Camera = 0x40 , Renderable = 0x80 ,
  Resource = 0x100 , Material = 0x200 , Texture = 0x400 , Extension = 0x800
}
 
enum class  Type : quint16 {
  Unknown = 0 , Node = BaseType::Node , Layer , Joint ,
  Skeleton , ImportScene , ReflectionProbe , DirectionalLight = BaseType::Light | BaseType::Node ,
  PointLight , SpotLight , OrthographicCamera = BaseType::Camera | BaseType::Node , PerspectiveCamera ,
  CustomFrustumCamera , CustomCamera , Model = BaseType::Renderable | BaseType::Node , Item2D ,
  Particles , SceneEnvironment = BaseType::Resource , Effect , Geometry ,
  TextureData , MorphTarget , ModelInstance , ModelBlendParticle ,
  ResourceLoader , DefaultMaterial = BaseType::Material | BaseType::Resource , PrincipledMaterial , CustomMaterial ,
  SpecularGlossyMaterial , Skin , Image2D = BaseType::Texture | BaseType::Resource , ImageCube ,
  RenderExtension = BaseType::Extension
}
 
- Static Public Member Functions inherited from QSSGRenderNode
static QMatrix4x4 calculateTransformMatrix (QVector3D position, QVector3D scale, QVector3D pivot, QQuaternion rotation)
 
static float signedSquared (float val)
 
- Static Public Member Functions inherited from QSSGRenderGraphObject
static Q_REQUIRED_RESULT constexpr bool isNodeType (Type type) Q_DECL_NOTHROW
 
static Q_REQUIRED_RESULT constexpr bool isLight (Type type) Q_DECL_NOTHROW
 
static Q_REQUIRED_RESULT constexpr bool isCamera (Type type) Q_DECL_NOTHROW
 
static Q_REQUIRED_RESULT constexpr bool isMaterial (Type type) Q_DECL_NOTHROW
 
static Q_REQUIRED_RESULT constexpr bool isTexture (Type type) Q_DECL_NOTHROW
 
static Q_REQUIRED_RESULT constexpr bool isRenderable (Type type) Q_DECL_NOTHROW
 
static Q_REQUIRED_RESULT constexpr bool isResource (Type type) Q_DECL_NOTHROW
 
static constexpr bool isExtension (Type type) noexcept
 
static Q_REQUIRED_RESULT constexpr bool hasGraphicsResources (Type type) Q_DECL_NOTHROW
 
static const char * asString (QSSGRenderGraphObject::Type type)
 
static QDebug debugPrintImpl (QDebug stream, QSSGRenderGraphObject::Type type)
 
- Public Attributes inherited from QSSGRenderNode
QVector3D pivot
 
int staticFlags = 0
 
float localOpacity = 1.0f
 
FlagT flags { FlagT(DirtyFlag::GlobalValuesDirty) | FlagT(LocalState::Active) }
 
QMatrix4x4 localTransform
 
QMatrix4x4 globalTransform
 
QMatrix4x4 localInstanceTransform
 
QMatrix4x4 globalInstanceTransform
 
float globalOpacity = 1.0f
 
QSSGRenderNodeparent = nullptr
 
QSSGRenderNodenextSibling = nullptr
 
QSSGRenderNodepreviousSibling = nullptr
 
QSSGRenderNodeinstanceRoot = nullptr
 
quint32 dfsIndex = 0
 
ChildList children
 
QString debugObjectName
 
- Public Attributes inherited from QSSGRenderGraphObject
Type type
 
- Static Public Attributes inherited from QSSGRenderNode
static constexpr QVector3D initScale { 1.0f, 1.0f, 1.0f }
 

Detailed Description

Definition at line 32 of file qssgrenderinstancetable_p.h.

Constructor & Destructor Documentation

◆ QSSGRenderInstanceTable()

QSSGRenderInstanceTable::QSSGRenderInstanceTable ( )
inline

Definition at line 34 of file qssgrenderinstancetable_p.h.

Member Function Documentation

◆ constData()

const void * QSSGRenderInstanceTable::constData ( ) const
inline

Definition at line 38 of file qssgrenderinstancetable_p.h.

◆ count()

int QSSGRenderInstanceTable::count ( ) const
inline

Definition at line 36 of file qssgrenderinstancetable_p.h.

References instanceCount.

Referenced by QSSGRenderModel::instanceCount().

+ Here is the caller graph for this function:

◆ dataSize()

qsizetype QSSGRenderInstanceTable::dataSize ( ) const
inline

Definition at line 37 of file qssgrenderinstancetable_p.h.

◆ getTransform()

QMatrix4x4 QSSGRenderInstanceTable::getTransform ( int  index) const

Definition at line 6 of file qssgrenderinstancetable.cpp.

References Q_ASSERT.

◆ hasTransparency()

bool QSSGRenderInstanceTable::hasTransparency ( )
inline

Definition at line 43 of file qssgrenderinstancetable_p.h.

Referenced by QSSGLayerRenderData::prepareModelsForRender().

+ Here is the caller graph for this function:

◆ isDepthSortingEnabled()

bool QSSGRenderInstanceTable::isDepthSortingEnabled ( )
inline

Definition at line 46 of file qssgrenderinstancetable_p.h.

◆ serial()

int QSSGRenderInstanceTable::serial ( ) const
inline

Definition at line 41 of file qssgrenderinstancetable_p.h.

◆ setData()

void QSSGRenderInstanceTable::setData ( const QByteArray data,
int  count,
int  stride 
)
inline

Definition at line 39 of file qssgrenderinstancetable_p.h.

References instanceCount.

◆ setDepthSorting()

void QSSGRenderInstanceTable::setDepthSorting ( bool  enable)
inline

Definition at line 45 of file qssgrenderinstancetable_p.h.

◆ setHasTransparency()

void QSSGRenderInstanceTable::setHasTransparency ( bool  t)
inline

Definition at line 44 of file qssgrenderinstancetable_p.h.

◆ setInstanceCountOverride()

void QSSGRenderInstanceTable::setInstanceCountOverride ( int  count)
inline

Definition at line 40 of file qssgrenderinstancetable_p.h.

References instanceCount.

◆ stride()

int QSSGRenderInstanceTable::stride ( ) const
inline

Definition at line 42 of file qssgrenderinstancetable_p.h.

Referenced by QSSGCustomMaterialSystem::rhiPrepareRenderable(), and setupInstancing().

+ Here is the caller graph for this function:

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