I created a program that implement the Color picking method (render objects with unique color) is not working on Geforce Go 6150. However it works on other graphic cards. Anyone know why?
AFAIK, the OpenGL specification does not strictly require that the color you pass to GL will be exactly the same if you read them back from the framebuffer, so there may be some variation.
First of all, check if the display/frame buffer isn’t 16-bit! Make sure it has the right bit depth, z-buffering etc.
2nd, call SwapBuffers to make sure everything gets drawn properly. Could be a driver bug.
3rd, when converting the index to color, and you read the rasterized colors back, take in account a margin. E.g. so the RGB components can be off a few values, and still be converted back to the same index. I never tried this in my application, but I think it should technically be possible.