/// <summary> /// Отрисовка карты в главном окне с выставлением камеры на начальное положение. /// </summary> public void DrawSeaMapWithResetCamera() { if (_graphicMap != null) { _currentCamera = (MGCamera)_initialCamera.Clone(); _isDrawMap = true; } else { MessageBox.Show("Не загружена карта!", "Процесс отрисовки карты", MessageBoxButton.OK, MessageBoxImage.Error); } }
/// <summary> /// Инициализация OpenGL. /// </summary> private void InitOpenGl() { // Получаем ссылку на элемент управления OpenGl. OpenGL gl = OpenGlControl.OpenGL; // Установка порта вывода в соотвествии с размерами элемента Screen. gl.Viewport(0, 0, (int)OpenGlControl.ActualWidth, (int)OpenGlControl.ActualHeight); // Настройка проекции. gl.MatrixMode(MatrixMode.Projection); gl.LoadIdentity(); gl.Ortho2D(1, OpenGlControl.ActualWidth, 1, OpenGlControl.ActualHeight); //gl.Perspective(120, (float)OpenGlControl.Width / (float)OpenGlControl.Height, 0.1, 200); gl.MatrixMode(MatrixMode.Projection); gl.LoadIdentity(); // Настройка параметров OpenGl для визуализации. gl.Enable(OpenGL.GL_DEPTH_TEST); // Инициализация камеры. _currentCamera = (MGCamera)_initialCamera.Clone(); }
private void ButtonInitialCamera_Click(object sender, RoutedEventArgs e) { _currentCamera = (MGCamera)_initialCamera.Clone(); _isDrawMap = true; }