 {
     Material u_Materials[NUM_MATERIALS];
 };
+
+uniform int u_nMaterial;
 
 uniform sampler2D u_sDiffuse;
 uniform sampler2D u_sNormalHeight;

        {
            vec3 vHalf = normalize(vLightDir + normalize(v_vTEye));
            float fNDotH = max(0.0, dot(vNormal, vHalf));
            vSpecular += u_LightTypes[type].vSpecular.xyz * pow(fNDotH, 16.0) * fAttenuation;
        }
    }
}

void main(void)

    vec4 vSpecular;
    float fShininess;   // specular exponent
    float fGlow;        // luminescence
    int nReserved1;
    int nReserved2;
};

layout (std140) uniform LightTypesBlock
