37 QSSGRenderInstanceTable() : QSSGRenderGraphObject(QSSGRenderGraphObject::Type::ModelInstance, FlagT(Flags::HasGraphicsResources)) {}
39 int count()
const {
return instanceCount; }
40 qsizetype dataSize()
const {
return table.size(); }
41 const void *constData()
const {
return table.constData(); }
42 void setData(
const QByteArray &data,
int count,
int stride) { table = data; instanceCount = count; instanceStride = stride; ++instanceSerial; }
43 void setInstanceCountOverride(
int count) { instanceCount = count; }
44 int serial()
const {
return instanceSerial; }
45 int stride()
const {
return instanceStride; }
46 bool hasTransparency() {
return transparency; }
47 void setHasTransparency(
bool t) { transparency = t; }
48 void setDepthSorting(
bool enable) { depthSorting = enable; }
49 bool isDepthSortingEnabled() {
return depthSorting; }
50 QMatrix4x4 getTransform(
int index)
const;
51 void setShadowBoundsMinimum(
const QVector3D &value) { shadowBoundsMinimum = value; }
52 void setShadowBoundsMaximum(
const QVector3D &value) { shadowBoundsMaximum = value; }
53 QVector3D getShadowBoundsMinimum()
const {
return shadowBoundsMinimum; }
54 QVector3D getShadowBoundsMaximum()
const {
return shadowBoundsMaximum; }
57 int instanceCount = 0;
58 int instanceSerial = 0;
59 int instanceStride = 0;
60 bool transparency =
false;
61 bool depthSorting =
false;
62 QVector3D shadowBoundsMinimum = QVector3D(1, 1, 1);
63 QVector3D shadowBoundsMaximum = QVector3D(-1, -1, -1);