54 lines
1.1 KiB
C++
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);
|
|
}
|