XPlor/libs/xassets/xmaterialvertexshader.cpp

51 lines
1.1 KiB
C++

#include "xmaterialvertexshader.h"
#include "xmaterialvertexshaderprogram.h"
XMaterialVertexShader::XMaterialVertexShader()
: XAsset()
, mShaderName()
, mProgram()
{
SetType(ASSET_TYPE_VERTEXSHADER);
SetName("Material Vertex Shader");
}
void XMaterialVertexShader::Clear()
{
mShaderName.Clear();
mProgram.Clear();
}
void XMaterialVertexShader::ParseData(XDataStream *aStream)
{
if (IsDebug())
{
qDebug() << QString("[%1] Parsing data for %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(GetName());
}
mShaderName.ParsePtr(aStream, false);
mProgram.ParseData(aStream);
mShaderName.ParseDataSafe(aStream);
mProgram.LoadDef().ParseProgram(aStream);
}
XString XMaterialVertexShader::ShaderName() const
{
return mShaderName;
}
void XMaterialVertexShader::SetShaderName(const XString &aName)
{
mShaderName = aName;
}
XMaterialVertexShaderProgram XMaterialVertexShader::Program() const
{
return mProgram;
}
void XMaterialVertexShader::SetProgram(const XMaterialVertexShaderProgram &aProgram)
{
mProgram = aProgram;
}