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 instancingLodMin = -1;
51 float instancingLodMax = -1;
52 mutable int instanceLodCount = -1;
54 QSSGRenderInstanceTable *instanceTable =
nullptr;
55 int instanceCount()
const {
return instanceTable ? (instanceLodCount >= 0) ? instanceLodCount : instanceTable->count() : 0; }
56 bool instancing()
const {
return instanceTable;}
58 QSSGParticleBuffer *particleBuffer =
nullptr;
59 QMatrix4x4 particleMatrix;
60 bool hasTransparency =
false;
62 QVector<
float> morphWeights;
63 QVector<quint32> morphAttributes;
65 bool receivesReflections =
false;
66 bool castsReflections =
true;
67 bool usedInBakedLighting =
false;
69 float texelsPerUnit = 0.0f;
70 bool motionVectorEnabled =
true;
71 float motionVectorScale = 1.0f;
72 bool hasLightmap()
const {
return !lightmapKey.isEmpty(); }
73 bool usesBoneTexture()
const {
return ((skin !=
nullptr) || (skeleton !=
nullptr)); }
75 float levelOfDetailBias = 1.0f;
77 QSSGRenderModelHandle mh;
friend class QSSGLayerRenderData