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
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, FlagT flags=0)
 ~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 ()
QSSGBounds3 getBounds (QSSGBufferManager &inManager, bool inIncludeChildren=true) const
QSSGBounds3 getChildBounds (QSSGBufferManager &inManager) 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
float texelsPerUnit = 0.0f
float levelOfDetailBias = 1.0f
QSSGRenderModelHandle mh
Public Attributes inherited from QSSGRenderNode
QVector3D pivot
int staticFlags = 0
float localOpacity = 1.0f
FlagT flags { FlagT(DirtyFlag::GlobalValuesDirty) | FlagT(LocalState::Active) }
QMatrix4x4 localTransform
QSSGRenderRoot ** rootNodeRef = nullptr
QSSGRenderNodeparent = nullptr
QSSGRenderNodenextSibling = nullptr
QSSGRenderNodepreviousSibling = nullptr
QSSGRenderNodeinstanceRoot = nullptr
QSSGRenderNodeHandle h
QSSGRenderNodeTag tag
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 ,
  TagDirty = 1 << 8 , SubNodeDirty = 1 << 9 , 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 , Root , 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 , TextureProvider
}
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 QVector3D getGlobalPos (const QMatrix4x4 &globalTransform)
static QVector3D getDirection (const QMatrix4x4 &globalTransform)
static QVector3D getScalingCorrectDirection (const QMatrix4x4 &globalTransform)
static void calculateMVP (const QMatrix4x4 &globalTransform, const QMatrix4x4 &inViewProjection, QMatrix4x4 &outMVP)
static void calculateNormalMatrix (const QMatrix4x4 &globalTransform, QMatrix3x3 &outNormalMatrix)
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 67 of file qssgrendermodel_p.h.

◆ instanceCount()

int QSSGRenderModel::instanceCount ( ) const
inline

Definition at line 52 of file qssgrendermodel_p.h.

◆ instancing()

bool QSSGRenderModel::instancing ( ) const
inline

Definition at line 53 of file qssgrendermodel_p.h.

◆ usesBoneTexture()

bool QSSGRenderModel::usesBoneTexture ( ) const
inline

Definition at line 68 of file qssgrendermodel_p.h.

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 70 of file qssgrendermodel_p.h.

◆ lightmapKey

QString QSSGRenderModel::lightmapKey

Definition at line 65 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.

◆ meshPath

QSSGRenderPath QSSGRenderModel::meshPath

Definition at line 41 of file qssgrendermodel_p.h.

◆ mh

QSSGRenderModelHandle QSSGRenderModel::mh

Definition at line 72 of file qssgrendermodel_p.h.

◆ 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.

◆ skin

QSSGRenderSkin* QSSGRenderModel::skin = nullptr

Definition at line 43 of file qssgrendermodel_p.h.

◆ texelsPerUnit

float QSSGRenderModel::texelsPerUnit = 0.0f

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