+ int numsdr = 1 << NUM_USE_FLAGS;
+ shaders = new unsigned int[numsdr];
+
+ for(int i=0; i<numsdr; i++) {
+ clear_shader_header(0);
+
+ for(int j=0; j<NUM_USE_FLAGS; j++) {
+ if(i & (1 << j)) {
+ add_shader_header(0, use_flag_str[j]);
+ }
+ }
+
+ if(!(shaders[i] = create_program_load("sdr/lightmap.v.glsl", "sdr/lightmap.p.glsl"))) {
+ return false;
+ }
+ set_uniform_int(shaders[i], "texmap", MTL_TEX_DIFFUSE);
+ set_uniform_int(shaders[i], "lightmap", MTL_TEX_LIGHTMAP);
+ set_uniform_int(shaders[i], "mirrortex", MTL_TEX_REFLECT);
+ }
+