#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); }