XPlor/libs/xassets/xgfxvertexshaderloaddef.cpp

73 lines
1.7 KiB
C++

#include "xgfxvertexshaderloaddef.h"
XGfxVertexShaderLoadDef::XGfxVertexShaderLoadDef()
: XAsset()
, mProgramSize(0)
, mLoadForRenderer(0)
, mProgram()
{
SetName("GFX Vertex Shader Load Definition");
}
void XGfxVertexShaderLoadDef::Clear()
{
mProgramSize = 0;
mLoadForRenderer = 0;
mProgram.clear();
}
void XGfxVertexShaderLoadDef::ParseData(XDataStream *aStream)
{
if (IsDebug())
{
qDebug() << QString("[%1] Parsing data for %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(GetName());
}
qint32 programPtr = aStream->ParseInt32(QString("%1 program ptr").arg(GetName()));
Q_UNUSED(programPtr);
mProgramSize = aStream->ParseUInt16(QString("%1 cached part").arg(GetName()));
mLoadForRenderer = aStream->ParseUInt16(QString("%1 physical part").arg(GetName()));
}
void XGfxVertexShaderLoadDef::ParseProgram(XDataStream *aStream)
{
mProgram = QByteArray(mProgramSize * 4, Qt::Uninitialized);
aStream->readRawData(mProgram.data(), mProgramSize * 4);
if (IsDebug())
{
qDebug() << QString("[%1] %2: %3").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(GetName()).arg(mProgram);
}
}
quint16 XGfxVertexShaderLoadDef::ProgramSize() const
{
return mProgramSize;
}
void XGfxVertexShaderLoadDef::SetProgramSize(quint16 aProgramSize)
{
mProgramSize = aProgramSize;
}
quint16 XGfxVertexShaderLoadDef::LoadForRenderer() const
{
return mLoadForRenderer;
}
void XGfxVertexShaderLoadDef::SetLoadForRenderer(quint16 aLoadForRenderer)
{
mLoadForRenderer = aLoadForRenderer;
}
QByteArray XGfxVertexShaderLoadDef::Program() const
{
return mProgram;
}
void XGfxVertexShaderLoadDef::SetProgram(const QByteArray &aProgram)
{
mProgram = aProgram;
}