Moved some of the new shader uid stuff to a common header file.

This commit is contained in:
NeoBrainX
2012-08-06 23:09:43 +02:00
parent ca0e292dd4
commit 3c8df842bb
9 changed files with 1196 additions and 80 deletions

View File

@ -267,7 +267,7 @@ void _GenerateLightingShader(T& object, int components, const char* materialsNam
// TODO: Problem: this one uses copy constructors or sth for uids when returning...
template<class T, GenOutput type>
void GenerateShader(T& out, u32 components, API_TYPE api_type)
void GenerateVertexShader(T& out, u32 components, API_TYPE api_type)
{
#undef SetUidField
#define SetUidField(name, value) if (type == GO_ShaderUid) {out.GetUidData().name = value; };
@ -635,12 +635,12 @@ void GenerateShader(T& out, u32 components, API_TYPE api_type)
setlocale(LC_NUMERIC, ""); // restore locale
}
void GenerateShaderUid(ShaderUid& object, u32 components, API_TYPE api_type)
void GetVertexShaderUid(VertexShaderUid& object, u32 components, API_TYPE api_type)
{
return GenerateShader<ShaderUid, GO_ShaderUid>(object, components, api_type);
GenerateVertexShader<VertexShaderUid, GO_ShaderUid>(object, components, api_type);
}
void GenerateShaderCode(ShaderCode& object, u32 components, API_TYPE api_type)
void GenerateVertexShaderCode(VertexShaderCode& object, u32 components, API_TYPE api_type)
{
return GenerateShader<ShaderCode, GO_ShaderCode>(object, components, api_type);
GenerateVertexShader<VertexShaderCode, GO_ShaderCode>(object, components, api_type);
}