use GLfloat instead of c_float