When I set the material in opengl for an object (glutSolidSphere(2.,10.,8.);), let for example the emerald parameters:
float[] mat_ambient ={ 0.0215f, 0.1745f, 0.0215f, 0.55f };
float[] mat_diffuse ={0.07568f, 0.61424f, 0.07568f, 0.55f };
float[] mat_specular ={0.633f, 0.727811f, 0.633f, 0.55f };
float shine = 76.8f;
In order to obtain really an emerald object I should set the components of light in the same way? I mean:
float[] light_ambient ={ 0.0215f, 0.1745f, 0.0215f, 0.55f };
float[] light_diffuse ={0.07568f, 0.61424f, 0.07568f, 0.55f };
float[] light_specular ={0.633f, 0.727811f, 0.633f, 0.55f };
float[] light_position= { 1.0, 1.0, 1.0, 0.0 };
The result is not good...