due to the OpenGL specs glMaterialiv should convert the
largest possible positive and negative integer number to
1.0 and -1.0 for all values except shininess. instead
glMaterialiv takes integer values and directly converts
them to float (so only 0.0 and 1.0 are possible).
this has already been fixed in the cvs version but not in