/*!	
	@file
	@brief	ゲーム側から使うバーテックスシェーダー
*/



#ifndef CVertexShaderDefault_h
#define CVertexShaderDefault_h

#include"../Setup/CompileMode.h"
#include"../Auxiliary/mstring.h"
#include"../template/ReferenceCount.h"

#include"CVertexShader.h"
#include"CResourceNameGenerator.h"

namespace Maid
{
	class CVertexShaderDefault : public CVertexShader
	{
	public:
		CVertexShaderDefault();
		CVertexShaderDefault( const CVertexShaderDefault& rha );
		virtual ~CVertexShaderDefault();

		void Create( VERTEXSHADERNAME::NAME name );

		void Delete();
		virtual mstring GetID()const;


	public:
		CVertexShaderDefault& operator = ( const CVertexShaderDefault& rha );

	private:
		mstring	m_CodeName;
		static ReferenceCount<mstring>	s_Cache;
	};

}

#endif
