Ok, nothing extraordinary going on :

```
////////////////////
// C++ code:
////////////////////
// use the program
glUseProgram();
// Send the uniforms
glUniform1f(loc, val);
// and draw
glDraw();
////////////////////
// Vertex shader
////////////////////
uniform mat4 matModelView;
uniform mat4 matProjection;
uniform float aabbLength;
uniform float lod1;
uniform float lod2;
in vec4 vPosition;
flat out int isVisiblei;
flat out ivec2 info;
void main(void)
{
isVisiblei = 1;
info = ivec2(gl_VertexID, 0);
// Transform and project !
vec4 translatedposition4f = matProjection * (matModelView * vPosition);
// Frustum-cull
if(translatedposition4f.x+aabbLength < -translatedposition4f.w)
{isVisiblei=0;return;}
if(translatedposition4f.x-aabbLength > translatedposition4f.w)
{isVisiblei=0;return;}
if(translatedposition4f.y+aabbLength < -translatedposition4f.w)
{isVisiblei=0;return;}
if(translatedposition4f.y-aabbLength > translatedposition4f.w)
{isVisiblei=0;return;}
if(translatedposition4f.z+aabbLength < -translatedposition4f.w)
{isVisiblei=0;return;}
if(translatedposition4f.z-aabbLength > translatedposition4f.w)
{isVisiblei=0;return;}
// compute lod
if(translatedposition4f.z > lod2)
{info.y = 2; return;}
if(translatedposition4f.z > lod1)
{info.y = 1; return;}
}
```

If I test the value of say the aabbLength variable, I get the default value 0.0… And I know the matrices are wrong also since the culling fails and I know this code works (used it before). Any ideas ?