needs a lot of cleaning but lights are OK
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / scene.vs
index 34ec16b235fd96d934ff6f39064b69b8a07edc3e..d352d35548de6c2b8851e49702e8f79989077597 100644 (file)
@@ -8,14 +8,13 @@ layout (location=3) in ivec4 a_lights;
 uniform mat4x3 uMdl;
 uniform mat4   uPv;
 uniform mat4   uPvmPrev;
-uniform samplerBuffer uLightsArray;
 
 out vec2 aUv;
 out vec4 aNorm;
 out vec3 aCo;
 out vec3 aWorldCo;
-flat out vec4 light_colours[3];
-flat out vec4 light_positions[3];
+
+flat out ivec4 light_indices;
 
 void main()
 {
@@ -32,11 +31,5 @@ void main()
    aCo = a_co;
    aWorldCo = world_pos0;
 
-   // read lights
-   light_colours[0] = texelFetch( uLightsArray, a_lights.x*2+0 );
-   light_colours[1] = texelFetch( uLightsArray, a_lights.y*2+0 );
-   light_colours[2] = texelFetch( uLightsArray, a_lights.z*2+0 );
-   light_positions[0] = texelFetch( uLightsArray, a_lights.x*2+1 );
-   light_positions[1] = texelFetch( uLightsArray, a_lights.y*2+1 );
-   light_positions[2] = texelFetch( uLightsArray, a_lights.z*2+1 );
+   light_indices = a_lights;
 }