If you pass a color as integer types, then you pass values in the range [0, 2^n-1], where n is the number of bits in the type. For unsigned integers, n is usually 32. So 204 in that case corresponds to 0.000000047 when converted to a float. And due to finite precision of a floatingpoint value, this is equal to 0. So, you are passing a pure black color. And the fact that the background color also is black won’t make things better if you want to see your sphere.

Maybe you should replace glColor3ui with glColor3ub.

And the size of your sphere is maybe a bit too large. The sphere you draw is 50 units in radius. Multiply that with 400, you get 20000 units large with the center located at (200, 200, 200). Since you have the identity matrix as projectipon matrix, every object outside the range x = [-1, 1], y = [-1, 1] and z = [-1, 1] will not be drawn. And your sphere is WAY outside this range.

so how should i multiple matrix coordinates ? i don’t want to use [-1,1] for all axis (maybe that has something to do with MSDN documentation - if you are not english american or somebody like that you won’t understand that correctly :-))