XPlor/libs/xassets/xmaterialtechnique.cpp

53 lines
1.1 KiB
C++
Raw Normal View History

2025-09-03 13:16:04 -04:00
#include "xmaterialtechnique.h"
XMaterialTechnique::XMaterialTechnique()
: XAsset()
2025-09-05 18:35:17 -04:00
, mName()
, mFlags(0)
, mPassCount(0)
, mPassArray()
2025-09-03 13:16:04 -04:00
{
2025-09-07 12:36:08 -04:00
SetName("Material Technique");
2025-09-03 13:16:04 -04:00
}
2025-09-05 18:35:17 -04:00
XMaterialTechnique::~XMaterialTechnique()
{
}
2025-09-03 13:16:04 -04:00
void XMaterialTechnique::ParseData(QDataStream *aStream)
{
2025-09-07 12:36:08 -04:00
if (IsDebug())
{
qDebug() << QString("[%1] Parsing data for %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(GetName());
}
mName.ParsePtr(aStream, false);
2025-09-05 18:35:17 -04:00
*aStream
>> mFlags
>> mPassCount;
2025-09-07 12:36:08 -04:00
if (IsDebug())
{
qDebug() << QString("[%1] mFlags = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mFlags);
qDebug() << QString("[%1] mPassCount = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mPassCount);
}
mPassArray = QVector<XMaterialPass>(mPassCount);
2025-09-05 18:35:17 -04:00
for (int i = 0; i < mPassCount; i++)
{
mPassArray[i].ParseData(aStream);
}
mName.ParseData(aStream);
2025-09-03 13:16:04 -04:00
}
void XMaterialTechnique::Clear()
{
2025-09-05 18:35:17 -04:00
mName.Clear();
mFlags = 0;
mPassCount = 0;
mPassArray.clear();
2025-09-03 13:16:04 -04:00
}