Exemple #1
0
        private void DrawFigures(OpenGL gl, float boardSize, ColorF colorWhite, ColorF colorBlack, Texture textureWhite, Texture textureBlack)
        {
            float[] specular1 = { 1, 1, 1, 1 };
            gl.Material(OpenGL.GL_FRONT_AND_BACK, OpenGL.GL_SPECULAR, specular1);
            gl.Material(OpenGL.GL_FRONT_AND_BACK, OpenGL.GL_SHININESS, 10);

            gl.Color(colorWhite.GetInArrWithAlpha());
            if (textureWhite != null)
            {
                gl.Enable(OpenGL.GL_TEXTURE_2D);
                textureWhite.Push(gl);
            }
            else
            {
                gl.Disable(OpenGL.GL_TEXTURE_2D);
            }
            //белые
            //for (int i=0; i<8; i++)
            //    DrawFigureInPosition(gl, Pawn, (char)('a'+i), 2);
            //DrawFigureInPosition(gl, Rook, 'a', 1);
            //DrawFigureInPosition(gl, Knight, 'b', 1);
            //DrawFigureInPosition(gl, Bishop, 'c', 1);
            //DrawFigureInPosition(gl, Queen, 'd', 1);
            //DrawFigureInPosition(gl, King, 'e', 1);
            //DrawFigureInPosition(gl, Bishop, 'f', 1);
            //DrawFigureInPosition(gl, Knight, 'g', 1);
            //DrawFigureInPosition(gl, Rook, 'h', 1);

            float quardSize = boardSize / 8;
            float halfQuard = quardSize / 2;

            gl.Translate(0, halfQuard, 0);
            DrawFigureInPosition(gl, King, 'e', 4);

            if (textureWhite != null)
            {
                textureWhite.Pop(gl);
            }

            gl.Color(colorBlack.GetInArrWithAlpha());
            if (textureBlack != null)
            {
                gl.Enable(OpenGL.GL_TEXTURE_2D);
                textureBlack.Push(gl);
            }
            else
            {
                gl.Disable(OpenGL.GL_TEXTURE_2D);
            }
            //чёрные
            //for (int i = 0; i < 8; i++)
            //    DrawFigureInPosition(gl, Pawn, (char)('a' + i), 7);
            //DrawFigureInPosition(gl, Rook, 'a', 8);
            //DrawFigureInPosition(gl, Knight, 'b', 8);
            //DrawFigureInPosition(gl, Bishop, 'c', 8);
            //DrawFigureInPosition(gl, Queen, 'd', 8);
            //DrawFigureInPosition(gl, King, 'e', 8);
            //DrawFigureInPosition(gl, Bishop, 'f', 8);
            //DrawFigureInPosition(gl, Knight, 'g', 8);
            //DrawFigureInPosition(gl, Rook, 'h', 8);
            if (textureBlack != null)
            {
                textureBlack.Pop(gl);
            }
        }