| @@ -119,24 +119,27 @@ DefaultShaderData::DefaultShaderData(uint16_t vert_decl_flags, Shader* shader, b | |||||
| SetupDefaultData(with_UV); | SetupDefaultData(with_UV); | ||||
| } | } | ||||
| static const String DefaultUniforms[7] = | |||||
| { | |||||
| String("u_Lights"), | |||||
| String("in_ModelView"), | |||||
| String("in_View"), | |||||
| String("in_Inv_View"), | |||||
| String("in_Proj"), | |||||
| String("in_NormalMat"), | |||||
| String("in_Damage") | |||||
| }; | |||||
| //----------------------------------------------------------------------------- | //----------------------------------------------------------------------------- | ||||
| void DefaultShaderData::StoreUniformNames() | void DefaultShaderData::StoreUniformNames() | ||||
| { | { | ||||
| m_uniform_names << String("u_Lights"); | |||||
| m_uniform_names << String("in_ModelView"); | |||||
| m_uniform_names << String("in_View"); | |||||
| m_uniform_names << String("in_Inv_View"); | |||||
| m_uniform_names << String("in_Proj"); | |||||
| m_uniform_names << String("in_NormalMat"); | |||||
| m_uniform_names << String("in_Damage"); | |||||
| } | } | ||||
| //----------------------------------------------------------------------------- | //----------------------------------------------------------------------------- | ||||
| void DefaultShaderData::SetupDefaultData(bool with_UV) | void DefaultShaderData::SetupDefaultData(bool with_UV) | ||||
| { | { | ||||
| UNUSED(with_UV); | UNUSED(with_UV); | ||||
| for (int i = 0; i < m_uniform_names.Count(); i++) | |||||
| AddUniform(m_uniform_names[i].C()); | |||||
| for (int i = 0; i < 7; i++) | |||||
| AddUniform(DefaultUniforms[i].C()); | |||||
| } | } | ||||
| //----------------------------------------------------------------------------- | //----------------------------------------------------------------------------- | ||||
| @@ -160,14 +163,14 @@ void DefaultShaderData::SetupShaderDatas(mat4 const &model) | |||||
| light_data << vec4::zero << vec4::zero; | light_data << vec4::zero << vec4::zero; | ||||
| int i = 0; | int i = 0; | ||||
| m_shader->SetUniform(*GetUniform(m_uniform_names[i++].C()), light_data); | |||||
| m_shader->SetUniform(*GetUniform(m_uniform_names[i++].C()), modelview); | |||||
| m_shader->SetUniform(*GetUniform(m_uniform_names[i++].C()), view); | |||||
| m_shader->SetUniform(*GetUniform(m_uniform_names[i++].C()), inverse(view)); | |||||
| m_shader->SetUniform(*GetUniform(m_uniform_names[i++].C()), proj); | |||||
| m_shader->SetUniform(*GetUniform(m_uniform_names[i++].C()), normalmat); | |||||
| m_shader->SetUniform(*GetUniform(m_uniform_names[i++].C()), f); | |||||
| m_shader->SetUniform(*GetUniform(DefaultUniforms[i++].C()), light_data); | |||||
| m_shader->SetUniform(*GetUniform(DefaultUniforms[i++].C()), modelview); | |||||
| m_shader->SetUniform(*GetUniform(DefaultUniforms[i++].C()), view); | |||||
| m_shader->SetUniform(*GetUniform(DefaultUniforms[i++].C()), inverse(view)); | |||||
| m_shader->SetUniform(*GetUniform(DefaultUniforms[i++].C()), proj); | |||||
| m_shader->SetUniform(*GetUniform(DefaultUniforms[i++].C()), normalmat); | |||||
| m_shader->SetUniform(*GetUniform(DefaultUniforms[i++].C()), f); | |||||
| } | } | ||||
| //----------------------------------------------------------------------------- | //----------------------------------------------------------------------------- | ||||