XPlor/libs/xassets/xmaterialpass.cpp
2025-09-05 18:35:17 -04:00

54 lines
1.1 KiB
C++

#include "xmaterialpass.h"
#include "xmaterialvertexdeclaration.h"
#include "xmaterialvertexshader.h"
#include "xmaterialpixelshader.h"
XMaterialPass::XMaterialPass()
: XAsset()
, mVertexDecl()
, mVertexShaderArray()
, mVertexShader()
, mPixelShader()
, mPerPrimArgCount(0)
, mPerObjArgCount(0)
, mStableArgCount(0)
, mCustomSamplerFlags(0)
, mPrecompiledIndex(0)
, mArgs()
{
}
void XMaterialPass::Clear()
{
}
void XMaterialPass::ParseData(QDataStream *aStream)
{
mVertexDecl.ParsePtr(aStream, false);
for (int i = 0; i < 15; i++)
{
mVertexShaderArray[i].ParsePtr(aStream, false);
}
mVertexShader.ParsePtr(aStream, false);
mPixelShader.ParsePtr(aStream, false);
qint32 argPtr;
*aStream
>> mPerPrimArgCount
>> mPerObjArgCount
>> mStableArgCount
>> mCustomSamplerFlags
>> mPrecompiledIndex
>> argPtr;
mVertexDecl.ParseData(aStream);
for (int i = 0; i < 15; i++)
{
mVertexShaderArray[i].ParseData(aStream);
}
mVertexShader.ParseData(aStream);
mPixelShader.ParseData(aStream);
}