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