private void Draw(int obj, float angle = 30)
        {
            Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT | Gl.GL_ACCUM_BUFFER_BIT);

            Gl.glMatrixMode(Gl.GL_PROJECTION);
            Gl.glLoadIdentity();
            Gl.glRotated(angle, 0, 1, 0);
            Gl.glRotated(0, 1, 0, 0);

            Gl.glMatrixMode(Gl.GL_MODELVIEW);
            Gl.glLoadIdentity();
            if (WireRadioButton.Checked)
            {
                Gl.glColor3f(1, 1, 1);

                switch (obj)
                {
                // Конус
                case 1:
                {
                    Glut.glutWireCone(0.2, 0.75, 16, 8);
                    break;
                }

                // Куб
                case 2:
                {
                    Glut.glutWireCube(0.75);
                    break;
                }

                //Цилиндр
                case 3:
                {
                    Glut.glutWireCylinder(0.2, 0.75, 16, 16);
                    break;
                }

                // Додекаэдр
                case 4:
                {
                    Gl.glScaled(0.5, 0.5, 0.5);
                    Glut.glutWireDodecahedron();
                    break;
                }

                // Икосаэдр
                case 5:
                {
                    Glut.glutWireIcosahedron();
                    break;
                }

                // Октаэдр
                case 6:
                {
                    Glut.glutWireOctahedron();
                    break;
                }

                //Ромбический додекаэдр
                case 7:
                {
                    Glut.glutWireRhombicDodecahedron();
                    break;
                }

                //Фрактал Губка Серпиского
                case 8:
                {
                    double[] offset = { 0, 0, 0 };
                    Glut.glutWireSierpinskiSponge(7, offset, 1);
                    break;
                }

                // Сфера
                case 9:
                {
                    Glut.glutWireSphere(0.75, 16, 16);
                    break;
                }

                // Чайник
                case 10:
                {
                    Glut.glutWireTeapot(0.5);
                    break;
                }

                // Тетраэдр
                case 11:
                {
                    Gl.glRotated(180, 0, 1, 0);
                    Glut.glutWireTetrahedron();
                    break;
                }

                // Тор
                case 12:
                {
                    Glut.glutWireTorus(0.15, 0.65, 16, 16);
                    break;
                }
                }
            }
            else if (SolidRadioButton.Checked)
            {
                float[] lghtClr = { 1, 1, 1, 0 };

                Gl.glPolygonMode(Gl.GL_FRONT, Gl.GL_FILL);
                Gl.glShadeModel(Gl.GL_SMOOTH);
                Gl.glEnable(Gl.GL_LIGHTING);
                Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_POSITION, light_position);
                Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_AMBIENT, lghtClr);
                Gl.glEnable(Gl.GL_LIGHT0);
                Gl.glMaterialfv(Gl.GL_FRONT, Gl.GL_DIFFUSE, mtClr);
                ShowSolid(obj);
                Gl.glDisable(Gl.GL_LIGHTING);
            }
            Pr.Invalidate();
        }