#include"CPixelShaderCompiler0000.h"

#include"DefaultPixelShader.h"
#include"../../../../../CResourceNameGenerator.h"

namespace Maid
{
	using namespace PIXELSHADERNAME;

	//	字数が長くなるので省略
#define MAKEPSNAME( type ) ( GeneratDefault(type) )

SPPIXELSHADERBUFFER CPixelShaderCompiler0000::Compile( const mstring& Name )
{
	IPixelShaderBuffer* pRet = NULL;

	if( Name==MAKEPSNAME(VERTEXCOLOR_NORMAL) )	{ pRet = new PS_VERTEXCOLOR_NORMAL; }
	ef( Name==MAKEPSNAME(VERTEXCOLOR_ADD) )		{ pRet = new PS_VERTEXCOLOR_ADD; }
	ef( Name==MAKEPSNAME(VERTEXCOLOR_SUB) )		{ pRet = new PS_VERTEXCOLOR_SUB; }
	ef( Name==MAKEPSNAME(VERTEXCOLOR_MUL) )		{ pRet = new PS_VERTEXCOLOR_MUL; }
	ef( Name==MAKEPSNAME(VERTEXCOLOR_REVERSE) ) { pRet = new PS_VERTEXCOLOR_REVERSE; }
	ef( Name==MAKEPSNAME(VERTEXCOLOR_MAX) )		{ pRet = new PS_VERTEXCOLOR_MAX; }

	ef( Name==MAKEPSNAME(SPRITE_NORMAL) )	{ pRet = new PS_SPRITE_NORMAL; }
	ef( Name==MAKEPSNAME(SPRITE_ADD) )		{ pRet = new PS_SPRITE_ADD; }
	ef( Name==MAKEPSNAME(SPRITE_SUB) )		{ pRet = new PS_SPRITE_SUB; }
	ef( Name==MAKEPSNAME(SPRITE_MUL) )		{ pRet = new PS_SPRITE_MUL; }
	ef( Name==MAKEPSNAME(SPRITE_REVERSE) )	{ pRet = new PS_SPRITE_REVERSE; }
	ef( Name==MAKEPSNAME(SPRITE_MAX) )		{ pRet = new PS_SPRITE_MAX; }

	ef( Name==MAKEPSNAME(FONT_NORMAL) )		{ pRet = new PS_FONT_NORMAL; }

	ef( Name==MAKEPSNAME(MODEL_COLOR  ) )	{ pRet = new PS_MODEL_COLOR; }
	ef( Name==MAKEPSNAME(MODEL_TEXTURE) )	{ pRet = new PS_MODEL_TEXTURE; }

	ef( Name==MAKEPSNAME(MODELTONE_COLOR  ) )	{ pRet = new PS_MODELTONE_COLOR; }
	ef( Name==MAKEPSNAME(MODELTONE_TEXTURE) )	{ pRet = new PS_MODELTONE_TEXTURE; }

	ef( Name==MAKEPSNAME(SPRITE_NORMAL_VCADD) )	{ pRet = new PS_SPRITE_NORMAL_VCADD; }
	ef( Name==MAKEPSNAME(SPRITE_NORMAL_VCSUB) )	{ pRet = new PS_SPRITE_NORMAL_VCSUB; }

	ef( Name==MAKEPSNAME(SPRITE_MASK_NORMAL_ADD) )	{ pRet = new PS_SPRITE_MASK_NORMAL_ADD; }
	ef( Name==MAKEPSNAME(SPRITE_MASK_NORMAL_SUB) )	{ pRet = new PS_SPRITE_MASK_NORMAL_SUB; }

	return SPPIXELSHADERBUFFER(pRet);
}

SPPIXELSHADERBUFFER CPixelShaderCompiler0000::Compile( const MySTL::vector<unt08>& Code, IVideoCardDriver::SHADERCOMPILE type )
{
	MAID_ASSERT( true, MAIDTEXT("未実装") );
	return SPPIXELSHADERBUFFER();
}

}