shader.cpp: don't test twice if shader programs are present
authorLoic Blot <loic.blot@unix-experience.fr>
Tue, 9 Feb 2016 22:03:54 +0000 (23:03 +0100)
committerest31 <MTest31@outlook.com>
Tue, 9 Feb 2016 22:19:19 +0000 (23:19 +0100)
Also use string::empty method, it is better than comparing with empty strings.

src/shader.cpp

index a2473ffbfd20242e24d83697d78dd08e14c7ca7e..138ad2aacb5e5e224883adce928e3ff09ca9c025 100644 (file)
@@ -767,22 +767,22 @@ ShaderInfo generate_shader(std::string name, u8 material_type, u8 drawtype,
        if (g_settings->getBool("tone_mapping"))
                shaders_header += "#define ENABLE_TONE_MAPPING\n";
 
-       if(pixel_program != "")
-               pixel_program = shaders_header + pixel_program;
-       if(vertex_program != "")
-               vertex_program = shaders_header + vertex_program;
-       if(geometry_program != "")
-               geometry_program = shaders_header + geometry_program;
        // Call addHighLevelShaderMaterial() or addShaderMaterial()
        const c8* vertex_program_ptr = 0;
        const c8* pixel_program_ptr = 0;
        const c8* geometry_program_ptr = 0;
-       if(vertex_program != "")
+       if (!vertex_program.empty()) {
+               pixel_program = shaders_header + pixel_program;
                vertex_program_ptr = vertex_program.c_str();
-       if(pixel_program != "")
+       }
+       if (!pixel_program.empty()) {
+               vertex_program = shaders_header + vertex_program;
                pixel_program_ptr = pixel_program.c_str();
-       if(geometry_program != "")
+       }
+       if (!geometry_program.empty()) {
+               geometry_program = shaders_header + geometry_program;
                geometry_program_ptr = geometry_program.c_str();
+       }
        s32 shadermat = -1;
        if(is_highlevel){
                infostream<<"Compiling high level shaders for "<<name<<std::endl;