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); } }