- // Enable lightning.
- GL.Enable(EnableCap.Lighting);
- // Choose the modelview matrix.
- GL.MatrixMode(MatrixMode.Modelview);
- // Save matrix in stack.
- GL.PushMatrix();
- // Set material characteristics.
- GL.Material(MaterialFace.FrontAndBack, MaterialParameter.Diffuse, 1.0f);
- GL.Material(MaterialFace.FrontAndBack, MaterialParameter.Ambient, 1.0f);
- GL.Material(MaterialFace.FrontAndBack, MaterialParameter.Shininess, 50.0f);
- GL.Material(MaterialFace.FrontAndBack, MaterialParameter.Specular, 1.0f);
- // Enable light spots.
- GL.Enable(EnableCap.Light1);
- GL.Enable(EnableCap.Light2);
- // Set light reflection computing.
- GL.LightModel(LightModelParameter.LightModelLocalViewer, 1.0f);
- // Set light parameters.
- GL.Light(LightName.Light1, LightParameter.Ambient, OpenTK.Graphics.Color4.Brown);
- GL.Light(LightName.Light1, LightParameter.Diffuse, OpenTK.Graphics.Color4.Silver);
- GL.Light(LightName.Light1, LightParameter.Position, (new Vector4(2f, 2f, -1f, 5f)));
- GL.Light(LightName.Light1, LightParameter.SpotDirection, (new Vector4(0f, 0f, 0f, 0f)));
- GL.Light(LightName.Light2, LightParameter.Ambient, OpenTK.Graphics.Color4.Yellow);
- // Pop matrix out of stack.
- GL.PopMatrix();