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

#include <qssgrendermodel_p.h>

+ Inheritance diagram for QSSGRenderModel:
+ Collaboration diagram for QSSGRenderModel:

Public Member Functions

int instanceCount () const
 
bool instancing () const
 
bool hasLightmap () const
 
bool usesBoneTexture () const
 
 QSSGRenderModel ()
 
- 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
bool hasGraphicsResources () const noexcept
 
virtual Q_QUICK3D_PROFILE_ID_ ~QSSGRenderGraphObject ()
 

Public Attributes

QVector< QSSGRenderGraphObject * > materials
 
QVector< QSSGRenderGraphObject * > morphTargets
 
QSSGRenderGeometrygeometry = nullptr
 
QSSGRenderPath meshPath
 
QSSGRenderSkeletonskeleton = nullptr
 
QSSGRenderSkinskin = nullptr
 
QVector< QMatrix4x4inverseBindPoses
 
float m_depthBiasSq = 0.0f
 
bool castsShadows = true
 
bool receivesShadows = true
 
float instancingLodMin = -1
 
float instancingLodMax = -1
 
QSSGRenderInstanceTableinstanceTable = nullptr
 
QSSGParticleBufferparticleBuffer = nullptr
 
QMatrix4x4 particleMatrix
 
bool hasTransparency = false
 
QVector< float > morphWeights
 
QVector< quint32morphAttributes
 
bool receivesReflections = false
 
bool castsReflections = true
 
bool usedInBakedLighting = false
 
QString lightmapKey
 
QString lightmapLoadPath
 
uint lightmapBaseResolution = 0
 
float levelOfDetailBias = 1.0f
 
- 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
const Type type
 
FlagT flags { 0 }
 

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 : quint32 {
  Node = 0x1000 , Light = 0x2000 , Camera = 0x4000 , Renderable = 0x8000 ,
  Resource = 0x10000 , Material = 0x20000 , Texture = 0x40000 , Extension = 0x80000 ,
  User = 0x80000000
}
 
enum class  Type : quint32 {
  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
}
 
enum class  Flags : quint32 { HasGraphicsResources = 0x1 }
 
using TypeT = std::underlying_type_t<Type>
 
using FlagT = std::underlying_type_t<Flags>
 
- Static Public Member Functions inherited from QSSGRenderNode
static QMatrix4x4 calculateTransformMatrix (QVector3D position, QVector3D scale, QVector3D pivot, QQuaternion rotation)
 
static void calculateMVPAndNormalMatrix (const QMatrix4x4 &globalTransfor, const QMatrix4x4 &inViewProjection, QMatrix4x4 &outMVP, QMatrix3x3 &outNormalMatrix)
 
static float signedSquared (float val)
 
- Static Public Member Functions inherited from QSSGRenderGraphObject
static constexpr bool isNodeType (Type type) noexcept
 
static constexpr bool isLight (Type type) noexcept
 
static constexpr bool isCamera (Type type) noexcept
 
static constexpr bool isMaterial (Type type) noexcept
 
static constexpr bool isTexture (Type type) noexcept
 
static constexpr bool isRenderable (Type type) noexcept
 
static constexpr bool isResource (Type type) noexcept
 
static constexpr bool isExtension (Type type) noexcept
 
static constexpr bool isUserType (Type type) noexcept
 
- Static Public Attributes inherited from QSSGRenderNode
static constexpr QVector3D initScale { 1.0f, 1.0f, 1.0f }
 
- Protected Member Functions inherited from QSSGRenderGraphObject
 QSSGRenderGraphObject (QSSGRenderGraphObject::Type inType)
 
 QSSGRenderGraphObject (QSSGRenderGraphObject::Type inType, FlagT inFlags)
 

Detailed Description

Definition at line 36 of file qssgrendermodel_p.h.

Constructor & Destructor Documentation

◆ QSSGRenderModel()

QT_BEGIN_NAMESPACE QSSGRenderModel::QSSGRenderModel ( )

Definition at line 12 of file qssgrendermodel.cpp.

Member Function Documentation

◆ hasLightmap()

bool QSSGRenderModel::hasLightmap ( ) const
inline

Definition at line 68 of file qssgrendermodel_p.h.

References QString::isEmpty().

Referenced by QSSGLayerRenderData::getLightmapTexture().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ instanceCount()

int QSSGRenderModel::instanceCount ( ) const
inline

Definition at line 52 of file qssgrendermodel_p.h.

References QSSGRenderInstanceTable::count().

+ Here is the call graph for this function:

◆ instancing()

bool QSSGRenderModel::instancing ( ) const
inline

Definition at line 53 of file qssgrendermodel_p.h.

◆ usesBoneTexture()

bool QSSGRenderModel::usesBoneTexture ( ) const
inline

Definition at line 69 of file qssgrendermodel_p.h.

Referenced by QSSGModelContext::QSSGModelContext(), and QSSGLayerRenderData::getBonemapTexture().

+ Here is the caller graph for this function:

Member Data Documentation

◆ castsReflections

bool QSSGRenderModel::castsReflections = true

Definition at line 63 of file qssgrendermodel_p.h.

◆ castsShadows

bool QSSGRenderModel::castsShadows = true

Definition at line 46 of file qssgrendermodel_p.h.

◆ geometry

QSSGRenderGeometry* QSSGRenderModel::geometry = nullptr

Definition at line 40 of file qssgrendermodel_p.h.

◆ hasTransparency

bool QSSGRenderModel::hasTransparency = false

Definition at line 57 of file qssgrendermodel_p.h.

◆ instanceTable

QSSGRenderInstanceTable* QSSGRenderModel::instanceTable = nullptr

Definition at line 51 of file qssgrendermodel_p.h.

◆ instancingLodMax

float QSSGRenderModel::instancingLodMax = -1

Definition at line 49 of file qssgrendermodel_p.h.

◆ instancingLodMin

float QSSGRenderModel::instancingLodMin = -1

Definition at line 48 of file qssgrendermodel_p.h.

◆ inverseBindPoses

QVector<QMatrix4x4> QSSGRenderModel::inverseBindPoses

Definition at line 44 of file qssgrendermodel_p.h.

◆ levelOfDetailBias

float QSSGRenderModel::levelOfDetailBias = 1.0f

Definition at line 71 of file qssgrendermodel_p.h.

◆ lightmapBaseResolution

uint QSSGRenderModel::lightmapBaseResolution = 0

Definition at line 67 of file qssgrendermodel_p.h.

◆ lightmapKey

QString QSSGRenderModel::lightmapKey

Definition at line 65 of file qssgrendermodel_p.h.

◆ lightmapLoadPath

QString QSSGRenderModel::lightmapLoadPath

Definition at line 66 of file qssgrendermodel_p.h.

◆ m_depthBiasSq

float QSSGRenderModel::m_depthBiasSq = 0.0f

Definition at line 45 of file qssgrendermodel_p.h.

◆ materials

QVector<QSSGRenderGraphObject *> QSSGRenderModel::materials

Definition at line 38 of file qssgrendermodel_p.h.

Referenced by prepareModelMaterialsImpl().

◆ meshPath

QSSGRenderPath QSSGRenderModel::meshPath

Definition at line 41 of file qssgrendermodel_p.h.

Referenced by QQuick3DModel::updateSpatialNode().

◆ morphAttributes

QVector<quint32> QSSGRenderModel::morphAttributes

Definition at line 60 of file qssgrendermodel_p.h.

◆ morphTargets

QVector<QSSGRenderGraphObject *> QSSGRenderModel::morphTargets

Definition at line 39 of file qssgrendermodel_p.h.

◆ morphWeights

QVector<float> QSSGRenderModel::morphWeights

Definition at line 59 of file qssgrendermodel_p.h.

◆ particleBuffer

QSSGParticleBuffer* QSSGRenderModel::particleBuffer = nullptr

Definition at line 55 of file qssgrendermodel_p.h.

◆ particleMatrix

QMatrix4x4 QSSGRenderModel::particleMatrix

Definition at line 56 of file qssgrendermodel_p.h.

◆ receivesReflections

bool QSSGRenderModel::receivesReflections = false

Definition at line 62 of file qssgrendermodel_p.h.

◆ receivesShadows

bool QSSGRenderModel::receivesShadows = true

Definition at line 47 of file qssgrendermodel_p.h.

◆ skeleton

QSSGRenderSkeleton* QSSGRenderModel::skeleton = nullptr

Definition at line 42 of file qssgrendermodel_p.h.

Referenced by updateDirtySkeletons().

◆ skin

QSSGRenderSkin* QSSGRenderModel::skin = nullptr

Definition at line 43 of file qssgrendermodel_p.h.

◆ usedInBakedLighting

bool QSSGRenderModel::usedInBakedLighting = false

Definition at line 64 of file qssgrendermodel_p.h.


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