40 QVector<QSSGRenderGraphObject *> materials;
41 QVector<QSSGRenderGraphObject *> morphTargets;
42 QSSGRenderGeometry *geometry =
nullptr;
43 QSSGRenderPath meshPath;
44 QSSGRenderSkeleton *skeleton =
nullptr;
45 QSSGRenderSkin *skin =
nullptr;
46 QVector<QMatrix4x4> inverseBindPoses;
47 float m_depthBiasSq = 0.0f;
48 bool castsShadows =
true;
49 bool receivesShadows =
true;
50 float instancingLodFactor = 0.0f;
51 float instancingLodMin = -1;
52 float instancingLodMax = -1;
53 mutable int instanceLodCount = -1;
55 QSSGRenderInstanceTable *instanceTable =
nullptr;
56 int instanceCount()
const {
return instanceTable ? (instanceLodCount >= 0) ? instanceLodCount : instanceTable->count() : 0; }
57 bool instancing()
const {
return instanceTable;}
59 QSSGParticleBuffer *particleBuffer =
nullptr;
60 QMatrix4x4 particleMatrix;
61 bool hasTransparency =
false;
63 QVector<
float> morphWeights;
64 QVector<quint32> morphAttributes;
66 bool receivesReflections =
false;
67 bool castsReflections =
true;
68 bool usedInBakedLighting =
false;
70 float texelsPerUnit = 0.0f;
71 bool motionVectorEnabled =
true;
72 float motionVectorScale = 1.0f;
73 bool hasLightmap()
const {
return !lightmapKey.isEmpty(); }
74 bool usesBoneTexture()
const {
return ((skin !=
nullptr) || (skeleton !=
nullptr)); }
76 float levelOfDetailBias = 1.0f;
friend class QSSGLayerRenderData