+ // read lights
+ vec4 light_colour_0 = texelFetch( uLightsArray, light_indices.x*3+0 );
+ vec4 light_colour_1 = texelFetch( uLightsArray, light_indices.y*3+0 );
+ vec4 light_colour_2 = texelFetch( uLightsArray, light_indices.z*3+0 );
+ vec4 light_co_0 = texelFetch( uLightsArray, light_indices.x*3+1 );
+ vec4 light_co_1 = texelFetch( uLightsArray, light_indices.y*3+1 );
+ vec4 light_co_2 = texelFetch( uLightsArray, light_indices.z*3+1 );
+ vec4 light_dir_0 = texelFetch( uLightsArray, light_indices.x*3+2 );
+ vec4 light_dir_1 = texelFetch( uLightsArray, light_indices.y*3+2 );
+ vec4 light_dir_2 = texelFetch( uLightsArray, light_indices.z*3+2 );
+
+ //return vec3(fract(distance(light_co_0.xyz,aWorldCo)),
+ // fract(distance(light_co_1.xyz,aWorldCo)),
+ // fract(distance(light_co_2.xyz,aWorldCo)));
+
+ // return vec3(fract(light_indices.x * 0.125), fract(light_indices.y*0.125),
+ // fract(light_indices.z * 0.125 ));
+
+ total_light += newlight_compute_spot