#pragma once
#include "VertexTypes.hpp"
#include <d3dx9.h>


namespace mof{

template<class T>
DWORD getFVF();

template<>
inline DWORD getFVF<VertexXYZRHWCUV>(){
	return  D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_TEX1;
}

template<>
inline DWORD getFVF<VertexXYZRHWC>(){
	return  D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_TEX0;
}

template<>
inline DWORD getFVF<VertexXYZCUV>(){
	return  D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1;
}

template<>
inline DWORD getFVF<VertexXYZNUV>(){
	return  D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1;
}

template<>
inline DWORD getFVF<VertexXYZC>(){
	return  D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX0;
}


};