Prevent shaders from being created when disabled

This commit is contained in:
kwolekr 2013-11-17 02:46:05 -05:00
parent 533785ec9a
commit a92fc3563c
1 changed files with 15 additions and 11 deletions

View File

@ -1109,18 +1109,22 @@ MapBlockMesh::MapBlockMesh(MeshMakeData *data):
/*
Convert MeshCollector to SMesh
*/
bool enable_shaders = g_settings->getBool("enable_shaders");
bool enable_bumpmapping = g_settings->getBool("enable_bumpmapping");
bool enable_shaders = g_settings->getBool("enable_shaders");
video::E_MATERIAL_TYPE shadermat1 = m_gamedef->getShaderSource()->
getShader("test_shader_1").material;
video::E_MATERIAL_TYPE shadermat2 = m_gamedef->getShaderSource()->
getShader("test_shader_2").material;
video::E_MATERIAL_TYPE shadermat3 = m_gamedef->getShaderSource()->
getShader("test_shader_3").material;
video::E_MATERIAL_TYPE bumpmaps1 = m_gamedef->getShaderSource()->
getShader("bumpmaps_solids").material;
video::E_MATERIAL_TYPE bumpmaps2 = m_gamedef->getShaderSource()->
getShader("bumpmaps_liquids").material;
video::E_MATERIAL_TYPE shadermat1, shadermat2, shadermat3, bumpmaps1, bumpmaps2;
shadermat1 = shadermat2 = shadermat3 = bumpmaps1 = bumpmaps2 = video::EMT_SOLID;
if (enable_shaders) {
IShaderSource *shdrsrc = m_gamedef->getShaderSource();
shadermat1 = shdrsrc->getShader("test_shader_1").material;
shadermat2 = shdrsrc->getShader("test_shader_2").material;
shadermat3 = shdrsrc->getShader("test_shader_3").material;
if (enable_bumpmapping) {
bumpmaps1 = shdrsrc->getShader("bumpmaps_solids").material;
bumpmaps2 = shdrsrc->getShader("bumpmaps_liquids").material;
}
}
for(u32 i = 0; i < collector.prebuffers.size(); i++)
{